본문 바로가기
Python

딕셔너리

by deeplearningkakao 2022. 1. 16.
반응형

딕셔너리는 key와 value가 있습니다. 짝을 맞춰 변수들을 한 번에 선언한다 ? 라고 보면 될 것 같습니다.

key는 무조건 1개의 값만 되고

value는 1개의 값도 되고, 여러개의 값도 가능합니다.

 

{Key1:Value1, Key2:Value2, Key3:Value3, ...}

 

 

딕셔너리 값 추가

a라는 딕셔너리를 선언하고,

딕셔너리에 a[2]='b'를 입력하면

 

a의 key와 value에 

     2   &  b

가 추가됩니다.

 

1)

>>> a = {5: 'c'}

>>> a[2] = 'b'

>>> a

{5: 'c', 2: 'b'}

 

2) key는 숫자와 문자 둘다 가능합니다.

 

>>> a['weather'] = 'sunny'

>>> a

{5: 'c', 2: 'b', 'weather': 'sunny'}

 

3) value에 여러개값 추가하기

>>> a[3] = [1,2,3]

>>> a

{5: 'c', 2: 'b', 'weather': 'sunny', 3: [1, 2, 3]}

 

4) key에 여러개값 추가하기 -> 에러 발생

>>> a = {[1,2] : 'hi'}

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

TypeError: unhashable type: 'list'

딕셔너리 값 삭제

딕셔너리의 값을 삭제할 때는, del이라는 함수를 사용해서 key값을 입력해줍니다.

 

del a[key]

 

 

>>> del a[5]

>>> a

{2: 'b', 'weather': 'sunny', 3: [1, 2, 3]}

 

 

딕셔너리에서 Key 사용해 Value 얻기

다음 딕셔너리에서 특정 key값을 입력해 value를 출력할 수 있다.

 

>>> mission= {'today': 1, 'tomorrow': 2}

>>> mission['today']

1

>>> mission['tomorrow']

2

 

딕셔너리 중복 key 사용 금지

딕셔너리에서 key값이 중복이 되면, 마지막 대입 된 값만 출력된다.

 

>>> a = {1:'a', 1:'b'}

>>> a

{1:'b'}

반응형

딕셔너리 관련 함수들

딕셔너리에서 제공하는 함수들을 살펴보자.

 

1) keys()

딕셔너리에서 key 리스트 만들기

 

>>> a = {'jj': '11', 'kk': '22', 'cc': '33'}

>>> a.keys()

dict_keys(['jj', 'kk', 'cc'])

 

for문으로 key값 출력 

 

>>> for k in a.keys():

...   print(k)

...

jj

kk

cc

 

2) list(a.keys())

 

a.keys()함수를 리스트로 변형할 때 메모리 낭비가 발생하므로, 파이선 3.0이후에 사용가능한 list(a.keys())를 사용해준다.

dict_keys 객체를 리스트로 변형해준다.

 

>>> list(a.keys())

['jj', 'kk', 'cc']

 

 

3) values()

value도 list를 만들 수 있다.

 

>>> a.values()

dict_values(['11', '22', '33'])

 

 

4) items()

items 함수는 Key와 Value를 튜플로 묶은 값을

dict_items 객체로 출력해줍니다.

 

>>> a.items()

dict_items([('jj', '11'), ('kk', '22'), ('cc', '33')])

 

 

 

5) clear()

Key: Value 쌍 모두 삭제할 수 있습니다.

 

빈 딕셔너리 표현은 {}

(빈 리스트 [] 빈 튜플() )

 

>>> a.clear()

>>> a

{}

 

 

6) get

Key로 Value얻기(get)

 

>>> a ={'jj': '11', 'kk': '22', 'cc': '33'}

>>> a.get('jj')

'11'

>>> a.get('kk')

'22'

 

 

key값이 없으면 None 이 출력됨.

 

>>> print(a.get('uu'))

None

 

 

get함수를 안쓸경우 key가 없다는 에러발생

>>> print(a['uu'])

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

KeyError: 'uu'

 

 

6) in

함수를 해당 key값이 딕셔너리에 존재하는지 in으로 알아보기

>>> a ={'jj': '11', 'kk': '22', 'cc': '33'}

>>> 'jj' in a

True

>>> 'uu' in a

False

 

True면 값이 있는 것이고, False면 값이 없는 것입니다.

 

반응형

'Python' 카테고리의 다른 글

집합 자료형 함수 정리  (0) 2022.01.17
집합 자료형 set  (0) 2022.01.16
튜플 예제  (0) 2022.01.15
리스트 자료형 2  (0) 2022.01.14
리스트 자료형 1  (2) 2022.01.14

댓글