자료형(3) - 리스트
리스트
>>> a = [1,2,3,4,5,6,7,8]
>>> b = [1, 2, ['I', 'am']]
리스트의 인덱싱
a[0] == 1
a[-1] == 8
b[2] == [‘I’, ‘am’]
b[2][1] == ‘am’
리스트의 슬라이싱
a[0:2] == [1,2,3]
리스트연산자
더하기
>>> a + b
[1,2,3,4,5,6,7,8,1, 2, ['I', 'am']]
반복하기
>>> a * 2
[1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8]
리스트 수정/삭제
>>> a[0] = 10
>>> a
>>> [10,2,3,4,5,6,7,8]
>>> del a[0]
>>> a
>>> [2,3,4,5,6,7,8]
리스트 관련 함수
리스트에 요소 추가(append)
>>> a = [1, 2, 3]
>>> a.append(4)
>>> a
[1, 2, 3, 4]
리스트 안에는 어떤 자료형도 추가할 수 있다.
리스트 정렬(sort)
sort 함수는 리스트의 요소를 순서대로 정렬해 준다.
>>> a = ['a', 'c', 'b']
>>> a.sort()
>>> a
['a', 'b', 'c']
리스트 뒤집기(reverse)
reverse 함수는 리스트를 역순으로 뒤집어 준다. 현재의 리스트를 그대로 거꾸로 뒤집을 뿐이다.
>>> a = ['a', 'c', 'b']
>>> a.reverse()
>>> a
['b', 'c', 'a']
위치 반환(index)
index(x) 함수는 리스트에 x라는 값이 있으면 x의 위치값을 리턴한다.
>>> a = [1,2,3]
>>> a.index(3)
2
0이라는 값은 a 리스트에 존재하지 않기 때문에 값 오류(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(3, 5)
[1, 2, 3, 5]
리스트 a의 a[3], 즉 네 번째 요소 위치에 5라는 값을 삽입하라는 뜻이다.
리스트 요소 제거(remove)
remove(x)는 리스트에서 첫 번째로 나오는 x를 삭제하는 함수이다.
>>> a = [1, 2, 3, 1, 2, 3]
>>> a.remove(3)
[1, 2, 1, 2, 3]
a가 3이라는 값을 2개 가지고 있을 경우 첫 번째 3만 제거되는 것을 알 수 있다.
리스트 요소 끄집어내기(pop)
pop()은 리스트의 맨 마지막 요소를 돌려주고 그 요소는 삭제하는 함수이다.
>>> a = [1,2,3]
>>> a.pop()
3
>>> a
[1, 2]
a 리스트 [1,2,3]에서 3을 끄집어내고 최종적으로 [1, 2]만 남는 것을 볼 수 있다.
pop(x)는 리스트의 x번째 요소를 돌려 주고 그 요소는 삭제한다.
>>> a = [1,2,3]
>>> a.pop(1)
2
>>> a
[1, 3]
a.pop(1)은 a[1]의 값을 끄집어낸다. 다시 a를 출력해 보면 끄집어낸 값이 삭제된 것을 확인할 수 있다.
리스트에 포함된 요소 x의 개수 세기(count)
count(x)는 리스트 내에 x가 몇 개 있는지 조사하여 그 개수를 돌려주는 함수이다.
>>> a = [1,2,3,1]
>>> a.count(1)
2
1이라는 값이 리스트 a에 2개 들어 있으므로 2를 돌려준다.
리스트 확장(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.extend([4,5])는 a += [4,5]와 동일하고, a += [4, 5]는 a = a + [4, 5]와 같은 표현이다.
참조 : 점프 투 파이썬 (https://wikidocs.net/14)