리스트 요소 추가
- append: 요소 하나를 추가
- extend: 리스트를 연결하여 확장
- insert: 특정 인덱스에 요소 추가
- append(요소)
append는 리스트 끝에 요소 추가
a = [1, 2, 3]
a.append(100) # a 리스트에 100을 추가함
print(a)
[1, 2, 3, 100]
빈 리스트에 값을 추가할 수도 있음
a = []
a.append(50)
print(a)
[50]
a = [1, 2, 3]
a.append([100, 200])
print(a)
print(len(a))
[1, 2, 3, [100, 200]]
4 # [100, 200]는 요소 하나임
리스트에 요소를 여러 개 추가할 때 사용
- extend(리스트)
extend는 리스트 끝에 요소 추가
a = [1, 2, 3]
a.extend([100, 200])
print(a)
print(len(a))
[1, 2, 3, 100, 200]
5 # extend를 사용하면 extend에 전단ㄹ된 리스트의 길이만큼 증가
리스트이 특정 인덱스에 요소 하나를 추가하기
- insert(인덱스, 요소)
a = [1, 2, 3]
a.insert(2, 100)
print(a)
print(len(a))
[1, 2, 100, 3] # 인덱스 2에 100이 추가됨
4
insert에서 자주 사용하는 패턴 2가지
- insert(0, 요소): 리스트의 맨 처음에 요소를 추가
- insert(len(리스트), 요소): 리스트 끝에 요소를 추가
a = [1, 2, 3]
a.insert(0, 100) # 리스트 맨 처음에 100 추가
print(a)
[100, 1, 2, 3]
a = [1, 2, 3]
a.insert(len(a), 100) # 리스트 끝에 요소 추가
print(a)
[1, 2, 3, 100]
= a.append(100)과 같은 결과
a = [1, 2, 3]
a.insert(2, [100, 200])
print(a)
[1, 2, [100, 200], 3]
a[2:2] = [100, 200]과 같이 시작 인덱스와 끝 인덱스를 같게 지정하면 해당 인덱스의 요소를 덮어쓰지 않으면서 요소 여러 개를 중간에 추가할 수 있다.
a = [1, 2, 3]
a[2:2] = [100, 200]
print(a)
[1, 2, 100, 200, 3]
- pop: 마지막 요소 또는 특정 인덱스의 요소를 삭제
- remove: 특정 값을 찾아서 삭제
pop()은 리스트의 마지막 요소를 삭제한 뒤 삭제한 요소를 반환한다.
a = [1, 2, 3]
print(a.pop()) # 3이 반환되는 것을 보여주기위해서 print()를 사용함
print(a)
3 # 3이 반환됨
[1, 2]
- pop(인덱스): 해당 인덱스의 요소를 삭제한 뒤 삭제한 요소를 반환한다
a = [1, 2, 3]
print(a.pop(1))
print(a)
2 # 인덱스 1을 반환함
[1, 3]
pop 대신 del을 사용해도 상관없다
a = [1, 2, 3]
del a[1]
print(a)
[1, 3]
remove(값)은 리스트에서 특정 값을 찾아서 삭제한다.
a = [1, 2, 3, 40, 50]
a.remove(40)
print(a)
[1, 2, 3, 50]
리스트에 같은 값이 여러 개 있을 경우에는 처음 찾은 값을 삭제한다.
a = [1, 2, 3, 40, 50, 3]
a.remove(3)
print(a)
[1, 2, 40, 50, 3]
- index(값)
a = [1, 2, 3, 40, 50]
print(a.index(40))
3
- count(값)
a = [1, 2, 3, 40, 50, 58, 12, 3, 125, 43, 3]
print(a.count(3))
3 # a 리스트 안에 숫자 3이 3개 있다
- reverse()(
a = [1, 2, 3, 40, 50]]
a.reverse()
print(a)
[50, 40, 3, 2, 1]
- sort() 또는 sort(reverse=False): 리스트의 값을 작은 순서대로 정렬(오름차순)
- sort(reverse=True): 리스트의 값을 큰 순서대로 정렬(내림차순)
a = [1, 24, 3, 15, 432, 21, 9]
a.sort()
print(a)
[1, 3, 9, 15, 21, 24, 432]
a = [1, 24, 3, 15, 432, 21, 9]
a.sort(reverse = True)
print(a)
[432, 24, 21, 15, 9, 3, 1]
a = [1, 24, 3, 15, 432, 21, 9]
a.sort() # a의 내용을 변경해서 정렬함
print(a)
[1, 3, 9, 15, 21, 24, 432]
>>> b = [2, 1, 84, 665, 0, 5]
>>> sorted(b) # 정렬된 새 리스트를 생성함
[0, 1, 2, 5, 84, 665]
- clear()
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a.clear()
print(a)
[]
- del a[:], 시작, 끝 인덱스를 생략해서 모든 요소를 삭제할 수도 있다.
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
del a[:]
print(a)
[]
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a[len(a):] = [100]
print(a)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100]
-> a.append(100)과 같다.
a[len(a):]는 시작 인덱스를 len(a)로 지정해서 리스트의 마지막 인덱스보다 1이 더 큰 상태다. 즉, 리스트 끝에서부터 시작하겠다는 뜻.
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a[len(a):] = [100, 200, 300]
print(a)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100, 200, 300]
-> a.extend([100, 200, 300])과 같다