리스트에 요소를 추가하는 메서드는 3가지가 있습니다.
a = [1, 2, 3, 4] a.append(50) print(a) -> [1, 2, 3, 4, 50]
append는 리스트 끝에 요소를 추가합니다. 물론 빈 리스트에 값을 추가할 수도 있습니다. 또한 리스트를 추가하면 리스트를 추가할 수도 있습니다.
a.append([600, 700]) print(a) -> [1, 2, 3, 4, 50, [600, 700]] print(len(a)) -> 6
a.append([600, 700])은 [600, 700]이라는 요소 하나를 리스트 a 끝에 추가합니다. 따라서 리스트 a를 len으로 길이를 구해보면 7가 아닌 6가 나옵니다.
a = [1, 2, 3, 4] a.extend([500, 600]) print(a) -> [1, 2, 3, 4, 500, 600] print(len(a)) -> 6
extend는 리스트 리스트 끝에 다른 리스트를 연결하여 리스트를 확장합니다.
a = [1, 2, 3, 4] a.insert(2, 50) print(a) -> [1, 2, 50, 3, 4] print(len(a)) -> 5
list.insert(인덱스, 요소)는 리스트에 특정 인덱스에 요소를 추가합니다. 그리고 insert에 마지막 인덱스보다 큰 값을 지정하면 리스트 끝에 요소 하나를 추가할 수 있습니다.
a = [1, 2, 3, 4] a.insert(0, 10) print(a) -> [10, 1, 2, 3, 4] a.insert(len(a), 50) print(a) -> [10, 1, 2, 3, 4, 50] a.insert(2, [20, 30]) print(a) -> [10, 1, [20, 30], 2, 3, 4, 50]
만약 리스트 중간에 요소 여러 개를 추가하고 싶다면 슬라이스에 요소 할당하기를 활용하면 됩니다.
a = [1, 2, 3, 4] a[1:1] = [500, 600] print(a) -> [1, 500, 600, 2, 3, 4]
요소를 삭제하는 메서드는 2가지가 있습니다.
a = [1, 2, 3, 4, 5] print(a.pop()) -> 5 print(a.pop(0)) -> 1 print(a) -> [2, 3, 4]
list.pop()은 요소를 반환하고 해당 요소를 리스트에서 삭제합니다. 인덱스를 지정하면 해당 요소를 반환하고 요소를 리스트에서 삭제합니다.
a = [1, 2, 3, 4, 5, 3, 6] a.remove(3) print(a) -> [1, 2, 4, 5, 3, 6]
list.remove(요소)는 리스트 내 해당 첫 요소를 삭제합니다.
a = [1, 2, 3, 4, 5, 3, 6] print(a.index(3)) -> 2
list.index(요소)는 리스트 내 해당 첫 요소를 찾아서 위치를 반환합니다.
a = [1, 2, 3, 4, 5, 3, 6] print(a.count(3)) -> 2
list.count(값)은 리스트 내 해당 요소의 개수를 반환합니다.
a = [10, 20, 30, 15, 20, 40] a.reverse() print(a) -> [40, 20, 15, 30, 20, 10]
list.reverse()는 리스트의 요소 순서를 반대로 뒤집습니다.
a = [10, 20, 30, 15, 20, 40] a.sort() print(a) -> [10, 15, 20, 20, 30, 40] a.sort(reverse=True) print(a) -> [40, 30, 20, 20, 15, 10]
list.sort()는 리스트의 요소를 오름차순으로 정렬하며 list.sort(reverse=True)는 요소를 내림차순으로 정렬합니다.
a = [10, 20, 30, 15, 20, 40] a.clear() print(a) -> []
list.clear()는 리스트 내 모든 요소를 삭제합니다.