Python/Python Basic

파이썬 Dictionary, get(), keys(), values(), items() 사용법, 파이썬 mapping type - 공부하는 도비

DOVISH WISDOM 2020. 6. 9. 15:42  
728x90
반응형

- mapping type

: mapping object는 값의 대응 관계를 표시하여 임의의 key 값으로 value를 찾습니다.

 

파이썬의 mapping type은 Dictionary가 유일하고, 

순서 열과 다르게,

순서 X, 중복 X, 수정 O, 삭제 O 와 같은 특징을 가지고 있습니다.

 

'순서와 중복을 허용하지 않는다'가 파이썬 Dictionary의 가장 큰 특징입니다.

 

1. 선언

Dic의 선언은 {} - 중괄호를 사용합니다.

key와 value 쌍들이 {  }로 둘러싸이고, 각각의 요소는 key : value 형태이며, 코머(,)로 구분합니다.

 

value에는 숫자, 문자, 문자열, 리스트, 튜플도 올 수 있습니다.

하지만, key에는 list. dict 등과 같이 내용이 바뀔 수 있는 object는 사용할 수 없습니다.

 

a의 type를 출력하게 되면, 

dict이라고 나오는 걸 확인할 수 있습니다.

 

2. 출력

dict의 출력은 key값을 주면 그에 해당하는 value가 출력됩니다. 

 

하지만, 코드를 작성한 사람, dict을 선언한 사람은 key가 어떤 것이 있는지 알지만, 그 외 사람들은 어떤 key가 dict안에 선언되어 있는지 모릅니다. 만약 선언되지 않은 key를 출력하게 되면 프로그램 오류가 나겠죠?

 

따라서, 직접적으로 key값을 주어 출력하는 것보다는 get() 함수를 사용하여 출력할 것을 권장합니다.

 

 

3. get() 함수 사용

 

get함수는 선언된 dict에서 출력하고자 하는 key가 있으면, 그에 해당하는 value를 출력해줍니다.

또한, 출력하고자 하는 key가 없으면, 오류가 아닌 None을 출력합니다.

 

a = {'name' : 'dobby', 'phone' : '010-1234-1234', 'address' : 'korea'}

print(a.get('name'))
print(a.get('ssn'))

 

4. Dict 추가

딕셔너리 추가는 간단합니다.

추가하고자 하는 key값과 value를 선언해주면 됩니다.

또한, value값으로 튜플, 리스트도 올 수 있다는 것을 확인하실 수 있습니다.

 

지금은 Dict의 개수가 많지 않아서 순서대로 출력되는데, 값이 많아지면 순서대로 출력 안될 때도 있습니다. 

이건 Dict이 순서가 없다는 특징 때문이죠?

 

5. keys() 사용

 

keys는 말 그대로 key가 여러 개 있다는 말입니다.

 

keys()의 사용은

dict명. keys() 형태로 사용합니다.

 

예시처럼, 딕셔너리 a의 keys은 name, address인 것을 확인하실 수 있습니다.

 

dict안에 어떤 key가 있는지 알고자 할 때 사용하면 좋겠죠?

 

- keys값들의 list 형 변환

 

keys값을 출력하여 type형을 출력해보면 dict인 것을 확인할 수 있습니다.

keys값들을 list 형으로 변환하면, 파이썬의 반복문 등 유용하게 사용할 수 있기 때문에 저런 식으로 형 변환을 하여 많이 사용합니다.

 

 

6. values() 사용

 

values는 말 그대로 value가 여러 개 있다는 말입니다.

a = {'name' : 'dobby', 'phone' : '010-1234-1234', 'address' : 'korea'}

#keys

print(a.values())
print(type(a.values()))

print()

print(list(a.values()))

keys()처럼 values()값을 list로 형 변환하여 반복문과 같은 구문에서 유용하게 사용할 수 있습니다.

 

7. items() 사용

items()는 선언된 dict의 한쌍을 의미합니다.

keys(), values()처럼 list로 형 변환하여 유용하게 사용할 수 있습니다.

 

dict은 key와 value 총 두 개가 하나의 세트로 움직이기 때문에, 

리스트로 형 변환을 했을 때, 각 방에는 0, 1 번째 방이 키와 값으로 저장됩니다.(value가 리스트, 튜플인 경우 제외)

 

 

이렇게 해서 파이썬의 mapping type 인 Dict를 알아보았습니다.

 

 

반응형