>>> a = [10, 20, 30]
>>> a.append(500)
>>> a
[10, 20, 30, 500]
>>> len(a)
4
>>> a = [10, 20, 30]
>>> a.append([500, 600])
>>> a
[10, 20, 30, [500, 600]]
>>> len(a)
4
>>> a = [10, 20, 30]
>>> a.extend([500, 600])
>>> a
[10, 20, 30, 500, 600]
>>> len(a)
5
>>> a = [10, 20, 30]
>>> a.insert(0, 500)
>>> a
[500, 10, 20, 30]
>>> a = [10, 20, 30] >>>>>>>> 리스트 끝에 요소를 추가하는 법
>>> a.insert(len(a), 500)
>>> a
[10, 20, 30, 500]
>>> a = [10, 20, 30]
>>> a.insert(2, 500)
>>> a
[10, 20, 500, 30]
>>> len(a)
4
>>> a = [10, 20, 30] >>>>>>>> 리스트 안에 리스트: 중첩리스트
>>> a.insert(1, [500, 600])
>>> a
[10, [500, 600], 20, 30]
>>> a = [10, 20, 30] >>>>>>>>>만약 리스트 삽입이 아닌 여러 요소를 추가하고 싶다면
>>> a[1:1] = [500, 600] >>>>>>>>>시작 인덱스와 끝안댁수룰 같게 설정 가능
>>> a
[10, 500, 600, 20, 30]
>>> a = [10, 20, 30]
>>> a.pop()
30
>>> a
[10, 20]
>>> a = [10, 20, 30]
>>> a.pop(1)
20
>>> a
[10, 30]
>>> a = [10, 20, 30]
>>> del a[1]
>>> a
[10, 30]
>>> a = [10, 20, 30]
>>> a.remove(20)
>>> a
[10, 30]
>>> a = [10, 20, 30, 20] >>>>>리스트 내에 같은 값이 여러개 있을 경우 처음 찾은 값 삭제
>>> a.remove(20)
>>> a
[10, 30, 20]
decue(반복 가능한 객체)
>>> from collections import deque # collections 모듈에서 deque를 가져옴
>>> a = deque([10, 20, 30])
>>> a
deque([10, 20, 30])
>>> a.append(500) # 덱의 오른쪽에 500 추가
>>> a
deque([10, 20, 30, 500])
>>> a.popleft() # 덱의 왼쪽 요소 하나 삭제
10
>>> a
deque([20, 30, 500])
deque의 append는 덱의 오른쪽에 요소를 추가하고, popleft는 덱의 왼쪽 요소를 삭제합니다.
반대로 appendleft는 덱의 왼쪽에 요소를 추가하고, pop으로 덱의 오른쪽 요소를 삭제할 수도 있습니다.
>>> a = [10, 20, 30, 15, 20, 40]
>>> a.index(20)
1
>>> a = [10, 20, 30, 15, 20, 40]
>>> a.count(20)
2
>>> a = [10, 20, 30, 15, 20, 40]
>>> a.reverse()
>>> a
[40, 20, 15, 30, 20, 10]
>>> a = [10, 20, 30, 15, 20, 40]
>>> a.sort()
>>> a
[10, 15, 20, 20, 30, 40]
>>> a = [10, 20, 30, 15, 20, 40] >>>>> 함수 내림차순 정렬
>>> a.sort(reverse=True)
>>> a
[40, 30, 20, 20, 15, 10]
reverse=False를 입력할 시 sort()와 마찬가지로 오름차순 정렬
sort는 매서드를 사용한 리스트를 변경하지만, sorted함수는 정렬된 새 리스트를 생성한다.
>>> a = [10, 20, 30, 15, 20, 40]
>>> a.sort() # a의 내용을 변경하여 정렬
>>> a
[10, 15, 20, 20, 30, 40]
>>> b = [10, 20, 30, 15, 20, 40]
>>> sorted(b) # 정렬된 새 리스트를 생성
[10, 15, 20, 20, 30, 40]
>>> a = [10, 20, 30]
>>> a.clear()
>>> a
[]
clear 대신 del a[:]가능
>>> a = [10, 20, 30]
>>> del a[:]
>>> a
[]
>>> a = [10, 20, 30]
>>> a[len(a):] = [500, 600]
>>> a
[10, 20, 30, 500, 600]
if not len(seq): # 리스트가 비어 있으면 True
if len(seq): # 리스트에 요소가 있으면 True
>>>>> 출력값이 0이면 False, 나머지는 전부 True
if not seq: # 리스트가 비어 있으면 True
if seq: # 리스트에 내용이 있으면 True
>>>>> 리스트의 인덱스 -1값을 출력해서 마지막값을 확인: 비어있을 경우 에러 발생
seq = []
if seq: # 리스트에 요소가 있는지 확인
print(seq[-1]) # 요소가 있을 때만 마지막 요소를 가져옴
>>> a = [0, 0, 0, 0, 0]
>>> b = a
>>> a is b
True
b = a와 같이 리스트를 다른 변수에 할당하면 리스트는 두 개가 될 것 같지만 실제로는 리스트가 한 개 이다.
변수 이름만 다를 뿐 리스트 a와 b는 같은 객체이다.
a와 b는 같으므로 b[2] = 99와 같이 리스트 b에 요소를 변경하면 리스트 a와 b에 모두 반영된다.
>>> b[2] = 99
>>> a
[0, 0, 99, 0, 0]
>>> b
[0, 0, 99, 0, 0]
>>> a = [0, 0, 0, 0, 0]
>>> b = a.copy()
>>> a is b
False
>>> a == b
True