superkind
1/3/2018 - 8:52 AM

딕셔너리 #python #tutorial

딕셔너리 #python #tutorial

딕셔너리

리스트와 비슷하지만 항목의 순서를 따지지 않으며, 오프셋이 없음. 대신 value에 상응하는 고유한 key를 지정함. 딕셔너리는 변경가능함.

딕셔너리 생성: {}

각 시퀀스의 첫번째 항목이 key, 두번째 항목이 value이다.

empty_dict = {}
lol = {'a': 'b', 'c': 'd', 'e': 'f'}

딕셔너리 변환: dict()

lol = [ ['a', 'b'], ['c', 'd'], ['e', 'f'] ]
dict(lol)       # {'c': 'd', 'a': 'b', 'e': 'f'}

항목 추가/변경

lol['c'] = 'wow'    # 변경
lol['x'] = 'y'      # 추가

결합하기: update()

한 딕셔너리의 키와 값들을 복사해서 다른 딕셔너리에 붙여준다. 중복된 값은 덮어쓰여진다.

키와 del로 항목 삭제

del lol['x']

모든 항목 삭제: clear()

키와 값들을 모두 삭제함

in으로 키 멤버십 테스트

'c' in lol      # True
'x' in lol      # False

항목 얻기

lol['a']        # 'b'
lol.get('a')    # 'b'

키가 존재하지 않는다면 오류를 출력한다. get()함수는 존재하지 않을 시 옵션값을 출력할 수 있다. 만약 옵션값을 지정하지 않는다면 None을 얻는다.

lol.get('x', 'no here')     # 'no here'
lol.get('x')                #

모든 키 얻기: keys()

lol.keys()      # dict_keys(['a', 'c'])
list(lol.keys()     # ['a', 'c']

모든 값 얻기: values()

lol.values()        # ['b', 'd']

모든 쌍의 키-값 얻기: items()

튜플로 반환된다.

list(lol.items())       # [('a', 'b'), ('c', 'd')]

할당: =, 복사: copy()

할당은 변수에 참조를 시키고 복사는 새로운 딕셔너리를 복사한다.