코테 공부/python
Python list 자료형 기억 안난부분 정리
sweet-po
2023. 5. 26. 15:38
인덱싱
>>> a = [1, 2, 3, ['a', 'b', 'c']]
>>> a[0]
1
>>> a[-1]
['a', 'b', 'c']
>>> a[3]
['a', 'b', 'c']
>>> a[-1][0]
'a'
(삼중 리스트도 똑같이 가능)
슬라이싱
리스트명[시작인덱스(포함):끝인덱스(미포함):간격(-1이면 거꾸로)]
>>> a = [1, 2, 3, 4, 5]
>>> a[0:2]
[1, 2]
문자열도 마찬가지
>>> a = "12345"
>>> a[0:2]
'12'
>>> a = [1, 2, 3, 4, 5]
>>> b = a[:2]
>>> c = a[2:]
>>> b
[1, 2]
>>> c
[3, 4, 5]
슬라이싱 응용하여 요소 삽입도 가능
>>> a = [10, 20, 30]
>>> a[1:1] = [500, 600]
>>> a
[10, 500, 600, 20, 30]
형오류 주의
>>> a = [1, 2, 3]
>>> a[2] + "hi"
형 오류(TypeError)가 발생했다.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'
a[2]에 저장된 값은 3이라는 정수인데 "hi"는 문자열. 정수와 문자열은 당연히 서로 더할 수 없기 때문에 형 오류가 발생
'3hi'처럼 만들고 싶다면 다음처럼 숫자 3을 문자 '3'으로 바꾸어야 한다.
>>> str(a[2]) + "hi"
3hi
삭제
>>> del a[1]
슬라이싱 기법을 사용하여 리스트의 요소 여러 개를 한꺼번에 삭제
>>> a = [1, 2, 3, 4, 5]
>>> del a[2:]
>>> a
[1, 2]
인덱스 반환(index)
index(x) 함수는 리스트에 x 값이 있으면 x의 인덱스 값을 리턴
>>> a = [1,2,3]
>>> a.index(3)
2
>>> a.index(1)
0
위 예에서 리스트 a에 있는 숫자 3의 위치는 a[2]이므로 2를 리턴하고, 숫자 1의 위치는 a[0]이므로 0을 리턴한다.
리스트에 존재하지 않으면 값 오류(ValueError)
>>> a.index(0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: 0 is not in list
요소 삽입(insert)
insert(a, b)는 리스트의 a번째 위치에 b를 삽입하는 함수
>>> a = [1, 2, 3]
>>> a.insert(0, 4)
>>> a
[4, 1, 2, 3]
>>> a = [10, 20, 30]
>>> a.insert(1, [500, 600])
>>> a
[10, [500, 600], 20, 30]
0번째 자리, 즉 첫 번째 요소(a[0]) 위치에 값 4를 삽입
요소 제거(remove)
remove(x)는 리스트에서 첫 번째로 나오는 x를 삭제
>>> a = [1, 2, 3, 1, 2, 3]
>>> a.remove(3)
>>> a
[1, 2, 1, 2, 3]
a가 3이라는 값을 2개 가지고 있을 경우 첫 번째 3만 제거됨
>>> a.remove(3)
>>> a
[1, 2, 1, 2]
요소 끄집어내기(pop)
pop()은 리스트의 맨 마지막 요소를 리턴하고 그 요소는 삭제
>>> a = [1,2,3]
>>> a.pop()
3
>>> a
[1, 2]
pop(x)는 리스트의 x인덱스 요소를 리턴하고 그 요소는 삭제
>>> a = [1,2,3]
>>> a.pop(1)
2
>>> a
[1, 3]
확장(extend)
extend(x)에서 x에는 리스트만 올 수 있으며 원래의 a 리스트에 x 리스트를 더함
>>> a = [1,2,3]
>>> a.extend([4,5])
>>> a
[1, 2, 3, 4, 5]
>>> b = [6, 7]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6, 7]
# a += [4, 5] 와 동일
# a[len(a):] = [4, 5] 와 동일
>>> a = [10, 20, 30]
>>> a[len(a):] = [4, 5]
>>> a
[10, 20, 30, 4, 5]
출처 : https://dojang.io/mod/page/view.php?id=2281