[Python] 딕셔너리 Dictionary

Yewon Choi·2020년 6월 27일
0

Python

목록 보기
6/29

📌 딕셔너리

📝 딕셔너리 만들고 사용

{Key1:Value1, Key2:Value2, Key3:Value3, ...}

>>> dic = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}

>>> a = {1: 'hi'}

>>> a = { 'a': [1,2,3]}

📝 딕셔너리 쌍 추가, 삭제하기

딕셔너리 쌍 추가하기

딕셔너리 요소 삭제하기

📝 사용 방법

>>> a = {1:'a', 2:'b'}
>>> a[1]
'a'
>>> a[2]
'b'

>>> a = {'a':1, 'b':2}
>>> a['a']
1
>>> a['b']
2

>>> dic = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}
>>> dic['name']
'pey'
>>> dic['phone']
'0119993323'
>>> dic['birth']
'1118'

📝 딕셔너리 만들 때 주의할 사항

👿 1. 동일한 Key가 2개 존재할 경우 무시된다.

>>> a = {1:'a', 1:'b'}
>>> a
{1: 'b'}

👿 2. Key에 리스트는 쓸 수 없다

>>> a = {[1,2] : 'hi'}
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'

📝 딕셔너리 관련 함수들

Key 리스트 만들기(keys)

>>> a = {'name': 'pey', 'phone': '0119993323', 'birth': '1118'}
>>> a.keys()
dict_keys(['name', 'phone', 'birth'])

👿 리스트 고유의 append, insert, pop, remove, sort 함수는 수행할 수 없다.

>>> for k in a.keys():
...    print(k)
...
name
phone
birth

👉 dict_keys 객체를 리스트로 변환하려면 ?

>>> list(a.keys())
['name', 'phone', 'birth']

Value 리스트 만들기(values)

>>> a.values()
dict_values(['pey', '0119993323', '1118'])

Key, Value 쌍 얻기(items)

>>> a.items()
dict_items([('name', 'pey'), ('phone', '0119993323'), ('birth', '1118')])

Key: Value 쌍 모두 지우기(clear)

>>> a.clear()
>>> a
{}

Key로 Value얻기 get -> a.get('name') get(x, '디폴트 값')

get vs 배열

공통점: 동일한 결괏값 반환됨

>>> a = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}
>>> a.get('name')
'pey'
>>> a['name']
'pey'

차이점 : 존재하지 않는 키(nokey)로 값을 가져오려고 할 경우
get :
1) None은 "거짓"을 반환해줌
2) get(x, '디폴트 값') : 찾으려는 Key 값이 없을 경우 디폴트 값을 대신
배열 : KeyError

>>> a = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}

get : 	1)
>>> print(a.get('nokey'))
None

get : 	2)
>>> a.get('foo', 'bar')
'bar'

배열 : KeyError
>>> print(a['nokey'])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'nokey'

해당 Key가 딕셔너리 안에 있는지 조사하기(in)

>>> a = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}
>>> 'name' in a
True
>>> 'email' in a
False







🐥 출처 : https://wikidocs.net/book/1 점프 투 파이썬
좋은 자료 감사합니다 ..✨

profile
https://github.com/devAon 찰나의 개발흔적을 남기는 개발블로그 입니다 🐥 https://aonee.tistory.com 에서 Velog로 블로그 이전 작업중입니다 ! 🎶

0개의 댓글