[Python] 파이썬 자료 구조 - dict

haejun-kim·2020년 6월 21일
0

[Python]

목록 보기
4/19
post-thumbnail

딕셔너리 - dict()

딕셔너리는 키와 값의 한 쌍으로 설정이 되는 것이 가장 큰 특징이다.

중괄호{} 로 구분한다.
{"key":"value"} 한 쌍을 이룬다.

>>> a = {}
>>> type(a)
<class 'dict'>
>>> a = dict()
>>> type(a)
<class 'dict'>

키는 아무거나 key가 될 수 있다.

>>> a = {"name" : "홍길동", "age":30}
>>> a
{'name': '홍길동', 'age': 30}

key = name, age
value = 홍길동, 30

key는 절대 중복이 될 수 없으며 변하지 않는 값을 사용하는 것이 좋다.

>>> a["name"] = "가가멜"
>>> a
{'name': '가가멜', 'age': 30}

keyname가가멜로 바꿨더니 홍길동은 사라지고 가가멜로 바뀌었다.
중복되지 않는다는 것을 확인할 수 있다.

삭제 - del

삭제는 리스트와 마찬가지로 del을 사용해서 삭제할 수 있다.

>>> del a["name"]
>>> a
{'age': 30}

pop()

pop도 사용 가능하다.

>>> a["name"] = "홍길동"
>>> a
{'age': 30, 'name': '홍길동'}
>>> a.pop("name")
'홍길동'
>>> a
{'age': 30}

다시 name홍길동을 추가시켰다.
리스트와 마찬가지로 pop을 사용하니 키에 해당하는 값이 출력되었고, 그 값은 기존의 딕셔너리에서 삭제되어있음을 확인할 수 있다.

update()

>>> a = {"name" : "홍길동"}
>>> b = {"age":30}
>>> c = {"country":"한국"}
>>> a
{'name': '홍길동'}
>>> b
{'age': 30}
>>> c
{'country': '한국'}
>>> a.update(b)
>>> a
{'name': '홍길동', 'age': 30}
>>> a.update(c)
>>> a
{'name': '홍길동', 'age': 30, 'country': '한국'}

key만 출력하기

>>> a.keys()
dict_keys(['name', 'age', 'country'])

value만 출력하기

>>> a.values()
dict_values(['홍길동', 30, '한국'])

key, value 둘 다 가져오기

>>> a.items()
dict_items([('name', '홍길동'), ('age', 30), ('country', '한국')])

key에 대응하는 value 가져오기

직접 호출

직접 호출하는 경우 포함되어 있지 않은 요소를 출력하려하는 경우 에러가 발생한다.

>>> a["name"]
'홍길동'
>>> a["이름"]
Traceback (most recent call last):
  File "<pyshell#70>", line 1, in <module>
    a["이름"]
KeyError: '이름'

get()

get을 사용하는 경우 포함되어 있지 않은 요소를 출력하려 해도 에러가 발생하지 않고 None을 발생시킨다.

>>> a.get("이름")
>>> print(a.get("이름"))
None

특징이 확연히 드러나므로 필요에 따라 쓰이지 않을까 싶다.

in

리스트에서 원하는 값을 찾을 때 in을 사용했다. 딕셔너리도 똑같다.

>>> "name" in a
True
>>> "nnnnnn" in a
False

0개의 댓글