Python Basic - dictionary

DevSmiler·2020년 2월 2일
0

Python Basic

목록 보기
7/11

What is Dictionary? (딕셔너리 자료형)

대응 관계를 나타내는 자료형입니다. 연관 배열(Associative Array)라고 하는데, 다른 언어에서는 Hash 등이 이에 해당되는 자료형입니다.

Key와 Value로 이루어져있는 자료형입니다. 리스트와 튜플과는 크게 다른점은 Index를 통해서 접근하는 것이 아닌 Key를 통해서 접근하는 자료형입니다.

딕셔너리 사용 방법

{Key1 : value, Key2 : value, Key3:value, ......}

위를 보면 Key와 Value로 이루어져있는것을 볼 수 있습니다.

dic = {'name':'kai', 'student no': 234, 'major':'computer engineering'}

다른 특징으로는 dictionary 안에 리스트, 튜플, SET도 추가할수 있습니다.

딕셔너리에 값 추가하기

dic['key_val'] = value 형식으로 추가하면 됩니다.

dic = {"name" : "Kai"}
dic['age'] = 23
result : {'name' : 'kai', 'age' : 23}

딕셔너리 값 삭제하기

키값을 이용해서 요소를 삭제해야 합니다.

del dic['age']
result : {'name':'kai'}

딕셔너리 값(value) 불러오기

dic[key_value]로 불러오면 됩니다.

dic['name']
result : 'kai'

딕셔너리 유의 사항

중복 값을 넣으면 마지막에 넣은 값으로 대체가 됩니다. keyvalue는 중복이 되지 않습니다.

딕셔너리 키 값 뽑기

dic.keys()를 통해서 뽑을수 있습니다. dict_keys 객체로 값을 리턴하게 해줍니다.(파이썬 버전 3이후 부터 리스트로 값이 리턴이 안됩니다.)

>>> dic.keys()
dict_keys(['set', 'list', 'tuple'])

for 문으로 값 뽑아내기

>>> for i in dic.keys():
print(i)
set
list
tuple

리스트로 뽑아내기

>>> list(dic.keys())
['set', 'list', 'tuple']

딕셔너리 value값 뽑아내기

dict_values객체 형태로 뽑아내기

>>> dic.values()
dict_values([{1, 2, 3, 4}, [1, 2, 3, 4], ('t', 'u', 'p', 'l', 'e')])

for문으로 값 뽑아내기

>>> for i in dic.values():
print(i)
{1, 2, 3, 4}	
[1, 2, 3, 4]
('t', 'u', 'p', 'l', 'e')

list로 뽑아내기

>>> list(dic.values())
[{1, 2, 3, 4}, [1, 2, 3, 4], ('t', 'u', 'p', 'l', 'e')]

딕셔너리 value와 key값 동시에 뽑아내기

위의 value와 key를 뽑아 내는것과 같지만 쌍으로 뽑아낼수 있습니다.
dic.items() 자료형은 dict_items입니다.

>>> dic.items()
dict_items([('set', {1, 2, 3, 4}), ('list', [1, 2, 3, 4]), ('tuple', ('t', 'u', 'p', 'l', 'e'))])
>>> dic2list = list(dic.items())
>>> dic2list
[('set', {1, 2, 3, 4}), ('list', [1, 2, 3, 4]), ('tuple', ('t', 'u', 'p', 'l', 'e'))]

key:value 모두 지우기

dic.clear()
result : {}

dic.get('key_value','default')

value를 가지고 오는 다른 방법입니다. dic['key_value']와 다른점은 만약에 해당 키가 없으면 error를 내는게 아니라 None 자료형이나 Default를 리턴하게 됩니다.

>>> dic.get('set')
{1, 2, 3, 4}
>>> dic.get('sgt','what?')
'what?'

Key값 확인하기

>>> 'name' in dic
False
>>> 'list' in dic
True
profile
A ship is always safe at the shore, but that is not what it is built for - Albert Einstein

0개의 댓글