• append(요소) -> 리스트 끝에 요소 하나를 추가
>>>a= [10,20,30]
>>>a.append(500)
>>>a
[10,20,30,500]
>>>len(a)
4
• append(리스트)
>>>a=[10,20,30]
>>>a.append([500,300])
>>>a
[10,20,30,[500,300]]
>>>len(a)
4
>>>a=[10,20,30]
>>>a.extend([500,300])
>>>a
[10,20,30,500,300]
>>>len(a)
5
>>>a= [10,20,30]
>>>a.insert(2,500)
>>>a
[10,20,500,30]
>>>len(a)
4
• insert(0, 요소) -> 리스트의 맨 처음에 요소를 추가insert는 요소 하나를 추가하므로 insert에 리스트를 넣으면 append처럼 리스트 안에 리스트가 들어간다.
>>>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]
• pop(): 리스트의 마지막 요소를 삭제한 뒤 삭제한 요소를 반환
>>>a= [10,20,30]
>>>a.pop()
30
>>>a
[10,20]
• pop(인덱스): 해당 인덱스의 요소를 삭제한 뒤 삭제한 요소를 반환
>>>a= [10,20,30]
>>>a.pop(1) #del a[1]도 상관 X
20
>>>a
[10,30]
>>>a= [10,20,30]
>>>a.remove(20)
>>>a
[10,30]
만약 리스트에 같은 값이 여러 개가 있을 경우 처음 찾은 값을 삭제>>>a= [10,2o,30,20]
>>>a.remove(20)
>>>a
[10,30,20]
>>>from collections import 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])
>>>a= [10,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]
>>>b= [10,20,30,15,20,40]
>>>sorted(b) #정렬된 새 리스트 생성
[10,15,20,20,30,40]
>>>a= [10,20,30]
>>>a.clear() #del a[:] 사용 가능(시작과 끝 인덱스 생략)
>>>a
[]
>>>a= [38,21,53,62,19]
>>>for index, value in enumerate(a):
... print(index, value)
...
0 38
1 21
2 53
3 62
4 19
>>>a= [i*j for j in range(2,10) for i in range(1,10)]
# <--------------------------------- 처리순서
>>>a
[2,4,6,8,10,12,3,6,9,12,....]
a= [i*j for j in range(2,10)
for i in range(1,10)]
리스트 표현식에 for가 여러 개 일때 처리 순서는 뒤에서 앞으로 순 이다.
>>>a= [1.2,2.5,3.7,4.6]
>>>for i in range(len(a)):
...a[i] = int(a[i])
...
>>>a
[1,2,3,4]
>>>a= [1.2,2.5,3.7,4.6]
>>>a= list(map(int, a))
>>>a
[1,2,3,4]
>>>a= list(map(str, range(10)))
>>>a
['0','1','2','3',...,'9']
>>>a= input().split() #input().split()을 사용한 뒤에 변수 한개에 저장해보면 리스트인지 확인해볼 수 있다.
10 20(입력)
>>>a
<map object at 0x03DFB0D0>
>>>list(a)
[10,20]
-> map이 반환하는 map객체는 이터레이터라서 변수 여러 개에 저장하는 언패킹(unpacking)이 가능함.
따라서 a,b=map(int, input().split())처럼 list를 생략한 것
a,b = map(int, input().split())
<=>
x= input().split() #input().split()의 결과는 문자열 리스트
m= map(int,x) #리스트의 요소를 int로 변환, 결과는 맵 객체
a,b=m #맵 객체는 변수 여러 개에 저장할 수 있음