컨테이너 자료형은 자료를 담는 그릇으로 생각할 수 있다.
리스트(list) : 자료를 순서 있게 나열하는 그릇
튜플(tuple) : 원소를 수정할 수 없는 리스트
딕셔너리(dict) : 자료를 키(key)와 값(value)로 연결하는 그릇
리스트는 자료를 나열하는 자료형으로 순서가 있고 자료의 중복을 허용한다
아래와 같이 대괄호 [ ] 를 이용하여 생성할 수 있다
>>> list1 = [1, 2, 3, 4, 5]
>>> print(list1)
[1, 2, 3, 4, 5]
리스트에 값을 추가할 때는 append() 메소드를 사용한다.
>>> list1.append(1)
>>> print(list1)
[1, 2, 3, 4, 5, 1]
리스트에서 자료의 위치를 인덱스(index)라고 한다.
0부터 시작하므로 list1에서 숫자 5는 인덱스 4에 위치한다고 할 수 있다.
리스트에서 원하는 인덱스의 값을 호출할 때는 대괄호를 붙이고 안에 인덱스 값을 넣으면 된다
>>> print(list1[4])
5
원하는 인덱스의 값을 삭제할 때는 del 명령어를 사용하면 된다.
>>> del list1[4]
>>> print(list1)
[1, 2, 3, 4, 1]
리스트에서 값을 찾아서 삭제할 때는 remove() 메서드를 사용한다.
먼저 등장하는 뭔소 하나가 제거된다.
>>> list1.remove(1)
>>> print(list1)
[2, 3, 4, 1]
+ 연산자로 리스트에 다른 리스트를 연결할 수 있다.
>>> list1 = list1 + [2, 3, 4]
>>> print(list1)
[2, 3, 4, 1, 2, 3, 4]
insert() 메서드를 사용하면 리스트의 원하는 인덱스에 값을 끼워넗을 수도 있다.
첫 번째 파라미터에 값을 넣을 인덱스를, 두 번째에는 끼워 넣을 값을 받는다.
>>> list1.insert(3, 5)
>>> print(list1)
[2, 3, 4, 5, 1, 2, 3, 4]
튜플은 리스트의 특징들에 원소를 수정할 수 없다는 조건이 붙는다. 원소를 한번 정하고 나면 추가, 삭제, 변경이 불가능하다.
튜플 생성은 소괄호를 사용하거나 생략한 채 원소를 적는다.
>>> tuple1 = (1, 2, 3, 4, 5)
>>> print(tuple1)
(1, 2, 3, 4, 5)
딕셔너리는 키 (key)와 값 (value)이 연결된 구조이다.
딕셔너리는 중괄호 { } 를 이용하여 정의한다.
>>> dict1 = {1 : 'a', 'fruit' : 'apple', 'count' : 3}
>>> print(dict1)
{1: 'a', 'fruit': 'apple', 'count': 3}
키에 대한 값을 가져올 때 리스트에서 인덱스로 값을 호출했을 때처럼 대괄호 안에 가져오고자 하는 키를 입력한다.
>>> print(dict1['fruit'])
'apple'
키와 값 쌍을 추가할 때는 아래와 같이 한다.
>>> dict1['color'] = 'red'
>>> print(dict1)
{1: 'a', 'fruit': 'apple', 'count': 3, 'color': 'red'}
딕셔너리에서 키와 값 쌍을 제거할 때는 del 명령을 사용하면 된다.
>>> del dict1[1]
>>> print(dict1)
{'fruit': 'apple', 'count': 3, 'color': 'red'}
값을 갱신할 수도 있다.
>>> dict1['count'] = 2
>>> print(dict1)
{'fruit': 'apple', 'count': 2, 'color': 'red'}