Python 리스트 타입 정리

2023년 2월 21일 수정

이 노트는 Python의 리스트(List)와 관련된 내용을 정리한다.

리스트(List)

lst = [1, 2, 3, 4, 5]

변조 기능

lst.append(6)
sliced_list = lst[1:-1]  # [2, 3, 4, 5]
lst.pop(0)               # [2, 3, 4, 5, 6]
lst.pop(-1)              # [2, 3, 4, 5]

리스트 슬라이스

lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
lst[5:]      # [6, 7, 8, 9, 10]
lst[:2]      # [1, 2]
lst[2:8]     # [3, 4, 5, 6, 7, 8]
lst[2:-3]    # [3, 4, 5, 6, 7]
lst[::2]     # [1, 3, 5, 7, 9]
lst[::3]     # [1, 4, 7, 10]
lst[::-1]    # [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
lst[2:-3:4]  # [3, 7]

리스트로 한정해서 이야기 하긴 했지만 리스트가 콜렉션 타입의 대표격인 만큼 문자열 등에서도 사용이 가능할 만큼 슬라이스는 범용적인 기능이다.

s = "abcde"
s[1:-1]  # 'bcd'

리스트 합치기

리스트를 합칠(concat) 때는 그냥 + 연산자를 쓰는 편이 수월하다.

all_list = list1 + list2 + list3

다른 방식으로는 extend 메서드를 쓸 수도 있다.

results = []
results.extend(list1)
results.extend(list2)
results.extend(list3)