딕셔너리는 키(key)와 값(value)이 한 쌍이 하나의 대응 관계를 가지고 있는 자료형이다
딕셔너리는 데이터를 특정 "키"와 "값"을 한 쌍을 이루게 해서 순서와 상관없이 "키"를 이용해서 바로 "값"에 접근이 가능하도록 만들어진 그런 데이터 타입이다
인덱싱으로 수정이 불가하다.
key값은 중복으로 사용할수 없다
key엔 리스트를 사용할수 없다
value에는 어떤 값이든 올수 있다
| 딕셔너리 쌍 추가하기 | a = {1: 'a'} a[2] = 'b' print(a) |
|
| {1: 'a', 2: 'b'} | ||
| 딕셔너리 업데이트 (같은 key가 있으면 수정, 없으면 추가) |
update | a = {1: 'a'} a.update({2:'b'}) print(a) a.update({1:'c'}) |
| a = {1: 'a', 2:'b'} a = {1: 'c', 2:'b'} |
||
| 딕셔너리 요소 삭제하기 | del | a= {1: 'a', 2: 'b', 'name': 'maru', 3: [1, 2, 3]} del a[1] print(a) |
| {2: 'b', 'name': 'pey', 3: [1, 2, 3]} | ||
| Key 리스트 만들기 | keys | a = {'name':'maru', 'school':'white pine', 'age':8} print(a.keys()) |
| dict_keys(['name', 'school', 'age']) | ||
| dick_keys 사용 | for k in a.keys(): print(k) |
|
| name school age |
||
| list로 변환 | print(list(a.keys())) | |
| ['name', 'school', 'age'] | ||
| Value 리스트 만들기 | values | print(a.values()) |
| dict_values(['maru', 'white pine', 8]) | ||
| Key, Value 쌍 얻기 | items | print(a.items()) |
| dict_items([('name', 'maru'), ('school', 'white pine'), ('age',8)]) | ||
| Key로 Value얻기 get 메서드를 사용하면 없는 키에 접근할 때 "None"을 반환한다. 즉, error를 발생시키지 않는다. |
get | a ={'name':'maru', 'school':'white pine', 'age':8} print(a.get('name')) print(a.get('age')) |
| 'maru' 8 |
||
| 기본값 지정 | print(a.get('birth', '0101')) | |
| '0101' | ||
| 해당 Key가 딕셔너리 안에 있는지 조사하기 | in | a = {'name':'maru', 'school':'white pine', 'age':8} print('name' in a) print('email' in a) |
| True False |
||
| Key: Value 쌍 모두 지우기 | clear | a.clear() print(a) |
| {} |
튜플(tuple)은 셀 수 있는 수량의 순서 있는 열거이다.
인덱스 접근은 가능하지만 값을 수정할 수 없다.값을 수정할 수 없는 리스트와 거의 유사하다()로 만들수 있다
집합은 {}로 선언및 초기화가 가능하다
set(묶음 자료형)형식으로 사용한다.
1.요소의 순서가 없다
2.중복되는 값은 한 개만 저장한다.
3.딕셔너리는 key만 저장한다.
값 1개 추가하기(add)
값 여러 개 추가하기(update)
특정 값 제거하기(remove)
교집합을 구할때는 "intersection" 이라는 메서드를 이용하거나 "&"를 이용
합집합을 구할때는 "union" 이라는 메서드를 이용하거나 "|" 연산자를 이용
차집합을 구할때는 "difference" 메서드를 이용하거나 "-" 연산자를 이용