티스토리 뷰

[Dev]/Python

[Python] 딕셔너리(Dictionary)

ossians 2017. 11. 30. 15:31


[Python] 딕셔너리(Dictionary)


딕셔너리(Dictionary) 란?


데이터를 "Key = Value" 형태로 관련된 정보를 연관시켜 저장합니다.

예를들어 "Key"를 축구 "Value"를 안정환으로 연관시켜 데이터를 저장할 수 있습니다.

딕셔너리는 리스트나 튜플처럼 위치를 구애받지 않고 "Key"를 통해서 "Value"를 얻을 수 있습니다.


딕셔너리는 "{}"기호와 "Key:Value" 문법으로 생성할 수 있습니다.

코드        # dic 변수에 Key = Value로 딕셔너리 생성
dic = {'축구':'안정환''야구':'이승엽''씨름':'강호동'}
print(dic['축구'])
 
결과
안정환



딕셔너리의 구조는 아래와 같습니다.

딕셔너리는 "Key" 값이 고유 해야 하므로 "Key" 값을 중복해서 사용하면 안됩니다.




딕셔너리 추가, 삭제


딕셔너리 추가하기

코드
dic = {'축구':'안정환''야구':'이승엽''씨름':'강호동'}
dic['농구'= '서장훈'        # dic 딕셔너리에 Key는 농구 Value는 서장훈을 추가 
print(dic)
 
결과
{'축구''안정환''야구''이승엽''씨름''강호동''농구''서장훈'}



딕셔너리 삭제하기

코드
dic = {'축구':'안정환''야구':'이승엽''씨름':'강호동'}
del dic['축구']        # dic 딕셔너리의 축구 Key를 가진 "Key=Value"를 삭제
print(dic)
 
결과
{'야구''이승엽''씨름''강호동'}





딕셔너리 - 함수 응용


사용하려는 Key가 딕셔너리 안에 존재하는지 확인

코드
dic = {'축구':'안정환''야구':'이승엽''씨름':'강호동'}
print('축구' in dic)        # '축구' 값을 가진 Key가 dic 딕셔녀리에 존재하는지 
 
결과
True



Key로 Value 가져오기

print(['key'])로 해당하는 Value를 가져오기도 하지만 아래와 같이 get을 사용하여 가져올 수 있습니다.

코드
dic = {'축구':'안정환''야구':'이승엽''씨름':'강호동'}
print(dic.get('축구'))        # dic 딕셔너리에서 축구 Key에 해당하는 Value 값을 출력 
 
결과
안정환



Key 리스트 만들기

코드
dic = {'축구':'안정환''야구':'이승엽''씨름':'강호동'}
print(list(dic.keys()))   # dic.keys()를 통해 dic 딕셔너리를 리스트형태로 추출한 다음 list를 사용하여 리스트 속성으로 변경
 
결과
['축구''야구''씨름']



Value 리스트 만들기

코드
dic = {'축구':'안정환''야구':'이승엽''씨름':'강호동'}
print(list(dic.values()))  # dic.keys()를 통해 dic 딕셔너리를 리스트형태로 추출한 다음 list를 사용하여 리스트 속성으로 변경
 
결과
['안정환''이승엽''강호동']



Key = Value 쌍으로 가져오기

코드
dic = {'축구':'안정환''야구':'이승엽''씨름':'강호동'}
print(dic.items())        # dic 딕셔너리에 있는 "Key:Value"를 모두 출력
 
결과
dict_items([('축구''안정환'), ('야구''이승엽'), ('씨름''강호동')])



Key = Value 모두 지우기

코드
dic = {'축구':'안정환''야구':'이승엽''씨름':'강호동'}
print(dic.clear())        # dic 딕셔너리 "Key:Value" 모두 삭제
 
결과
None






'[Dev] > Python' 카테고리의 다른 글

[Python] 데이터 입력 받기(Input)  (3) 2017.12.04
[Python] 집합(Set)  (0) 2017.12.04
[Python] 튜플 인덱싱 & 슬라이싱  (0) 2017.11.30
[Python] 리스트 인덱싱 & 슬라이싱  (0) 2017.11.30
[Python] Python Print 함수 - 2  (0) 2017.11.29
Comments
최근에 올라온 글