JAVA 개발자의 PYTHON 도전기

이 포스트는 개인적으로 공부한 내용을 정리한 글입니다.
자세한 내용은 아래 참고자료를 봐주시면 감사하겠습니다.

기본 문법

Dictionary

딕셔너리는 key: value 형태의 자료구조입니다.
value는 불변객체, 가변객체가 모두 할당 가능하지만 key는 불변객체만 할당될 수 있습니다.
즉, key에 string, int, tuple은 가능하지만 list는 할당이 되지 않습니다.
Dictionary 자료구조의 선언방법은 아래와 같습니다.

>>> scores = {"홍길동": 80, "박우리": 70, "이시카와": 78}
>>> scores = dict([["홍길동", 80], ["박우리", 70], ["이시카와", 78]]) # list - list, list - tuple, tuple - list, tuple - tuple 모두 가능
>>> scores = dict((("홍길동", 80), ("박우리", 70), ("이시카와", 78)))
>>> scores = dict(홍길동=80, 박우리=90, 이시카와=85)

Dictionary 요소 추가 및 삭제

>>> del scores["철수"]
>>> scores
{'민수': 85, '영희': 80}
>>> scores["이시카와"] = 45
>>> scores
{'민수': 85, '영희': 80, '이시카와': 45}

key와 value를 꺼내 한줄 씩 출력해보겠습니다.

>>> scores = {"철수": 90, "민수": 85, "영희": 80}
>>> for key in scores:
...     val = scores[key]
...     print(f'key: {key}, value: {val}')
...
key: 민수, value: 85
key: 영희, value: 80
key: 쿠보, value: 45

key와 value들을 꺼내오는 메서드입니다.

>>> score_keys = scores.keys()
>>> score_keys
dict_keys(['민수', '영희', '쿠보'])
>>> score_values = scores.values()
>>> score_values
dict_values([85, 80, 45])

items()를 이용해 dict_items를 꺼내오고 dict_items를 list, tuple로 변환할 수 있습니다.

>>> scores
{'민수': 85, '영희': 80, '쿠보': 45}
>>> dict_item = scores.items()
>>> dict_item
dict_items([('민수', 85), ('영희', 80), ('쿠보', 45)])
>>> list(dict_item)
[('민수', 85), ('영희', 80), ('쿠보', 45)]
>>> tuple(dict_item)
(('민수', 85), ('영희', 80), ('쿠보', 45))

아래의 방법으로 dictionary를 한번에 여러개 업데이트할 수 있습니다.

>>> persons = [('김기수', 30), ('홍대길', 35), ('강찬수', 25)]
>>> mydict = dict(persons)
>>>
>>> mydict.update({'홍대길':33,'강찬수':26})
>>> mydict
{'김기수': 30, '홍대길': 33, '강찬수': 26}

참고자료 (예제로 배우는 파이썬 프로그래밍 - 14-컬렉션-Dictionary)

profile
백엔드 프로그래머

0개의 댓글