Client/Python

파이썬의 자료형들 [리스트, 튜플, 딕셔너리, 집합] 3.딕셔너리

Ardmos :) 2017. 3. 24. 17:04

파이썬 공부를 시작하고 참 오랜만에 중괄호{}를 만나게 됐다 ^^;; 여태 해봤던 다른 언어에서는 참 많이 쓰던 괄호인데 파이썬에서는 없어서 조금 서운하기도 했던 괄호가 딕셔너리 자료형에서 쓰이고 있었다.

딕셔너리(Dictionary) 자료형은 Key값과 Value값들이 짝지어서 이루어져있는데, 이 Key값으로 각각의 Value값을 얻어오는게 가능했다.


딕셔너리는 

dic = {'name' : 'Jhon'}

이런 형태인데

dic[키값]을 통해서 밸류값을 가져올 수 있다

dic['name']

=> Jhon

또는, get 함수를사용해도 같은 결과를 얻을 수 있다.

dic.get('name')

=> Jhon

(*두 방법의 차이는 존재하지 않는 Key로 Value값을 가져오려할 때, dic[키값] 방법은 Key 오류가 발생하고 get함수는 None을 리턴한다.)

(만약, 찾으려는 key값이 없을 때, get함수에서 None 대신 다른것을 리턴하게 해주고 싶으면,

dic.get('name', '원하는 값')

이렇게 두번째 인자로 디폴트값을 미리 정해줄수가 있다.)


그리고 새로운 키값과 밸류값 추가도 가능하다.

dic = {'name' : 'John'}

dic['phone'] = '01012345678'

dic

=> {'name' : 'Jhon', 'phone' : '01012345678'} 


Key 리스트 만들기

dic = {'name' : 'Jhon', 'phone' : '01012345678'} 

dic.keys()

=> dict_keys(['name', 'phone'])

파이썬 3.0부터는 메모리 낭비를 줄이기 위해 리스트가 아닌 dcit_keys라는 객체를 리턴해준다. 만약 이전 버전에서처럼 리스트를 리턴받고싶으면, list(dic.keys())를 사용하면 된다.

dcit_values와 dcit_items도 마찬가지.


Value 리스트 만들기

dic.values()

=> dcit_values('Jhon', '01012345678')


Key, Value 쌍으로 얻기

dic.items()

=> dict_items([('name', 'Jhon'),('phone', '01012345678')])

items 함수는 key와 value의 쌍을 각각 튜플로 묶은 형태로 dcit_items 객체에 리턴해준다.


Key, Value 쌍 모두 지우기

dic.clear()

dic

=> {}

딕셔너리의 모든 요소를 삭제한다. 빈 딕셔너리는 {}로 표현된다.


해당 Key가 딕셔너리 안에 있는지 조사하기

'name' in dic

=> True

'phone' in dic

=> True


딕셔너리에서 Key값을 통해 Value값들을 가져올 때, 딕셔너리 안에 같은 Key값이 있으면 어떤 Key값이 불려질지 알 수 없다.(랜덤이다) 따라서 Key값은 중복되면 안된다.

728x90