-
반응형
이전 포스팅에서 딕셔너리(dictionary) 자료형에 대한 개념을 포스팅하였습니다.
이번 포스팅은 딕셔너리 관련된 함수들에 대해 다루어 보겠습니다.
딕셔너리 자료형의 개념은 이전 포스팅을 참고하세요.
[IT 이야기 공간/프로그램 언어 및 Database] - 파이썬 기초 데이터 유형 – 딕셔너리 ( Dictionary ) 자료형
파이썬에서 딕셔너리는 키와 값 (Key & value) 로 이루어진 쌍들의 집합입니다.
그래서 리스트와 같이 인덱스로는 접근 할 수 없고 키로 접근 할 수 있습니다.
따라서 순서가 있다고 할 수도 없습니다.
● 딕셔너리 key 값 가져오기
Keys() 라는 메소드를 이용하면 key 값을 가져옵니다. 그런데 반환값이 dict_keys 라는 객체로 반환을 합니다.
>>> dic = { 'a':1, 'b':2, 'c':3 }
>>> dic.keys()
dict_keys(['a', 'b', 'c’])
## dict_keys 객체를 리스트로 변환하여 사용합니다.
>>> list(dic.keys())
['a', 'b', 'c’]● 딕셔너리 values 값 가져오기
값에 해당하는 요소만 가져오고 싶다면 keys() 를 사용한 것 처럼 values를 사용합니다.
역시 반환 값이 dict_values 라는 객체를 반환합니다.
>>> dic.values()
dict_values([1, 2, 3])
## dict_values 객체를 리스트로 변환하여 사용합니다.
>>> list(dic.values())
[1, 2, 3]● 딕셔너리 key 와 value 가져오기
키와 값에 해당하는 요소를 모두 가져오려면 items()를 사용합니다.
역시 반환 값이 dict_itms 라는 객체를 반환합니다.
>>> dic.items()
dict_items([('a', 1), ('b', 2), ('c', 3)])
## 리스트로 변환합니다.
>>> list(dic.items())
[('a', 1), ('b', 2), ('c', 3)]
## 딕셔너리를 리스트로 바로 변환해 보니 key 값만 가져옵니다.
>>> list(dic)
['a', 'b', 'c’]
## 딕셔너리를 튜플로 바로 변환해 보니 key 값만 가져옵니다.
>>> tuple(dic)
('a', 'b', 'c’)● key 가 딕셔너리 안에 존재하는지 확인하는 방법
‘키 in 딕셔너리명’ 의 형식으로 사용합니다.
>>> dic = {'a': 1, 'b': 2, 'c': 3}
## ‘aa’는 키에 없으므로 False를 반환합니다.
>>> 'aa' in dic
False
## ‘a’는 키에 있으므로 False를 반환합니다.>>> 'a' in dic
True
## 1은 value 로 존재하지만 키는 아니므로 false를 반환합니다.>>> 1 in dic
False
>>>
● 딕셔너리 값 수정
키로 접근하여 수정 합니다.
>>> dic = {'a': 1, 'b': 2, 'c': 3}
>>> dic['a'] = 5
>>> dic
{'a': 5, 'b': 2, 'c': 3}
>>>여러 값을 한번에 수정하려면 update()를 사용합니다.
>>> dic = {'a': 1, 'b': 2, 'c': 3}
## 없는 키 값이면 추가 됩니다.
>>> dic.update({'a':10, 'c': [1,5], 'd':12})
>>> dic
{'a': 10, 'b': 2, 'c': [1, 5], 'd': 12}
>>>
● 딕셔너리 요소 삭제
그동안 리스트 등에서도 사용했던 del을 사용하면 됩니다.
>>> del dic['a']
>>> dic
{'b': 2, 'c': [1, 5], 'd': 12}
>>>● 딕셔너리 요소 모두 삭제
빈 딕셔너리로 만들어 주는 방법입니다. Clear을 사용합니다.
>>> dic ={'b': 2, 'c': [1, 5], 'd': 12}
>>> dic.clear()
>>> dic
{}
>>>
● 딕셔너리 value를 가져오는 다른 방법
키로 접근하여 값을 얻을 수 있습니다. 그리고 get 메소드를 사용하여 value 를 얻을 수 있습니다.
차이점은 없는 키 값을 넣었을 때 오류를 반환 하는지 안하는지의 차이가 있습니다.
이전 포스팅에서 오류 발생과 거짓의 차이점을 설명한 적이 있습니다.
오류시 프로그램을 중지하라고 했을 경우 중지하는 경우가 있으니 선택적으로 사용해야 합니다.
>>> dic = {'b': 2, 'c': [1, 5], 'd': 12}
## dic[‘b] 와 같은 결과 입니다.
>>> dic.get(‘b’)
2
>>> dic.get(‘aaa’)
## 오류가 아닌 거짓(None)을 반환합니다.>>> print(dic.get('aaa') )
None
>>> dic['aaa']
Traceback (most recent call last):
File "<pyshell#55>", line 1, in <module>
dic['aaa']
KeyError: 'aaa'
>>>파이썬 딕셔너리 함수에 대해 공부하였습니다.
반응형'IT 이야기 공간 > 프로그램 언어' 카테고리의 다른 글
파이썬 집합(set) 메소드로 추가, 제거하기 (0) 2020.06.20 파이썬 딕셔너리 복사 (1) 2020.06.19 파이썬 리스트 개수, 길이 구하기 (0) 2020.06.17 파이썬 리스트 정렬하기 (0) 2020.06.16 파이썬 리스트 연산하기 (0) 2020.06.15