프로그래밍 언어/파이썬

파이썬 14. 딕셔너리 관련 함수

닉네임못짓는사람 2020. 10. 5. 12:11
반응형

이번 글에서는 딕셔너리와 함께 사용할 수 있는 함수에 대해서 알아보도록 하겠습니다.

 

딕셔너리 관련 함수


Key리스트 생성(keys)

keys함수는 딕셔너리 내의 Key들을 모아서 하나의 객체를 반환합니다.

dic1 = {'name':'홍길동', 'age':20, 'gender':'male'}
print(dic1.keys())

이 함수를 사용해서 Key들을 출력하면, 위와 같이 dict_keys라는 객체를 반환하게 됩니다.

이 객체를 리스트로 변환해서 사용할 수 있는데, 이때에는 아래와 같이 사용해주시면 됩니다.

 

 

Value 리스트 생성(values)

Key의 리스트를 생성하는 함수가 있으니 Value들을 모아주는 함수도 있을 것입니다.

values함수는 딕셔너리 내의 value들을 모아서 하나의 객체로 만들어주는 함수입니다.

dic1 = {'name':'홍길동', 'age':20, 'gender':'male'}
print(dic1.values())

values는 dict_values라는 객체를 반환하는데, 리스트로 변환하고 싶다면 아래와 같이 사용하시면 됩니다.

list(dic1.values())

 

해당 키 검색(in)

in함수는 해당 딕셔너리 내에 특정한 Key가 존재하는지 여부를 검사해주는 함수입니다.

dic1 = {'name':'홍길동', 'age':20, 'gender':'male'}
print('name' in dic1)
print('address' in dic1)

위와 같이 해당 값이 딕셔너리의 Key중에 존재하는지를 검사해서 True또는 False를 반환해줍니다.

 

Key에 맞는 Value획득(get)

get함수는 딕셔너리 내에서 특정한 Key에 대응되는 Value값을 반환합니다.

dic1 = {'name':'홍길동', 'age':20, 'gender':'male'}
print(dic1.get('name'))

이 get함수는 이전에 알아봤던 dic1['name']과 동일한 동작을 수행합니다.

하지만 주의해야 할 점은 dic1['name']과 같이 value값을 얻을 경우 해당 Key가 딕셔너리 내에 없으면

오류를 발생시키는데 반해, get함수의 경우 Key가 없으면 None을 리턴합니다.

 

또한 get함수의 경우 Key값이 없을 때 None이 아닌 Default값을 가져오도록 할 수 있는데, 아래와 같이 작성해주시면 됩니다.

dic1 = {'name':'홍길동', 'age':20, 'gender':'male'}
print(dic1.get('address', 'Nothing'))

이렇게 찾을 Key값 뒤에 콤마를 넣고, 원하는 Default값을 넣어주시면 해당 Key가 없을 때 Default값을 반환합니다.

 

Key와 Value쌍 획득(items)

items함수는 해당 딕셔너리 내의 모든 Key와 그에 대응하는 Value값을 각각 튜플로 묶어서 dict_items라는 객체에 저장해서 반환합니다.

dic1 = {'name':'홍길동', 'age':20, 'gender':'male'}
print(dic1.items())

이 dict_items객체 또한 위의 keys나 values처럼 튜플 객체로 변경하여 사용할 수 있습니다.

tu1 = tuple(dic1.items())

 

딕셔너리 쌍 모두 제거(clear)

clear함수는 해당 딕셔너리 내의 모든 Key와 Value들, 즉 모든 요소를 제거합니다.

이때 빈 딕셔너리는 {}로 표현합니다.

dic1 = {'name':'홍길동', 'age':20, 'gender':'male'}
print(dic1)
dic1.clear()
print(dic1)

이번 글은 이 정도로 마치도록 하겠습니다.

감사합니다.

 

반응형

'프로그래밍 언어 > 파이썬' 카테고리의 다른 글

파이썬 16. set관련 함수  (0) 2020.10.07
파이썬 15. set(집합)  (0) 2020.10.06
파이썬 13. 딕셔너리  (0) 2020.09.28
파이썬 12. 튜플  (0) 2020.09.23
파이썬 11. 리스트 관련 함수  (0) 2020.09.22