본문 바로가기

프로그래밍 언어/AI & 파이썬_Python

파이썬 Python 코딩_10_딕셔너리 Type

Dictionary 딕셔너리

(딕셔너리는 파이썬의 Map과 비슷하다.)

 

딕셔너리는 Key(키)와 Value(벨류; 값)로 구성되어 있다.

key는 immutable(불변), value는 mutable(가변)이다.

딕셔너리 요소는 순서가 없다.

 

딕셔너리는 다음과 같이 만들 수 있다.

 

위 코드에서 x 와 y의 값을 출력하면 같은 딕셔너리가 나오는 것을 알 수 있다.

키와 값을 dict괄호( ) 안에 넣어도 되고, 중괄호{ } 안에 넣을 수도 있다는 뜻이다.

 

위와 같이 다양한 방법으로 '딕셔너리'를 만들 수 있다.

위 코드에서 name은 key(키) , ver은 value(값)이다.

첫번째와 두번째 표현의 차이를 기억해야 할 것 같다.

세번째는 두번째 표현을 줄을 바꿔서 나타낸 것이다. 이 방법을 많이 사용하는 것 같다.

 

세번째 방법으로 하나 더 만들어 본다.

 

특정 키(key)의 값(value)을 확인하려면 다음과 같이 2가지 방법이 있다.

 

특정 key가 있는지 확인하려면 다음과 같이 한다.

"name" 이라는 'key'가 변수 dictionary 안에(in) 있는지 확인해 보면 True(참; 있다)로 나타난다.

 

딕셔너리에서 사용할 수 있는 함수

keys( )

: 이 함수는 딕셔너리의 모든 '키'를 확인할 수 있다.

 

values( )

: 이 함수는 딕셔너리의 모든 '값'을 확인할 수 있다.

 

다음과 같은 딕셔너리를 만들었다.

 

변수 x에 저장된 딕셔너리를 반복문을 사용해서 키와 값을 나타내보자.

 

위 코드는 다음과 같은 순서대로 작동한다.

 

  1. for(반복하라), 변수 key에 넣는다, 변수x에 있는(in) --->여기서 key에 0이 저장된다.
  2. 출력하라(print), key를 --->여기서 0 이 출력된다.
  3. 출력하라(print), 변수x의 0 의 value(값)을 --->여기서 dog 가 출력된다.
  4. 위 과정을 반복한다.

다음과 같은 형태로 출력할 수도 있다.

같은 타입끼리만 더할 수 있으므로 key를 문자열로 casting(캐스팅) 해서 나타내야 한다.

 

새 key에 새 value(값)을 넣으려면 다음과 같이 한다.

 

 

딕셔너리와 반복문, 조건문을 함께 활용한 코드

 

아래 변수pets(애완동물들)에 리스트를 만들었다.

pets라는 리스트 안에 애완동물이 몇 마리씩 들어 있는지 알아보는 코드를 짜보자.

dog는 몇 마리, parrot는 몇 마리, --- 같은 식으로 표현하려면 dictionary(딕셔너리)로 나타내면 된다.

딕셔너리를 활용하기 위해 변수d에 딕셔너리를 저장한다.

이제 변수d에 딕셔너리를 저장할 수 있다.

 

리스트 요소를 반복하는 반복문을 만든다.

위 코드는 변수p에 리스트pets에 있는 요소를 순서대로 저장하는 것을 반복하는 코드이다.

 

위 코드는 다음과 같은 순서로 작동한다.

 

for(반복문), 리스트pets에 있는 첫번째 요소(dog)가 변수p에 저장된다.

if(만약) p(dog)가 d(디렉토리) 안에(in) 있다면--->여기서 dog는 디렉토리 안에 없으므로 else 코드로 이동한다.

    d 디렉토리 p(dog)키의 값(value)에, 저장하라(=), p(dog)키의 값(value)에 1을 더한 값을

else(그렇지 않으면; 없으면):

    d 디렉토리 p(dog)키의 값(value)에, 저장하라(=), 1을 --->여기서 d디렉토리에 dog키와 값 1이 저장된다.(dog: 1)

위 과정을 반복한다.---> 두번째 요소(dog)가 p에 저장된다.

 

반복문이 끝난 후 d디렉토리에 저장된 값을 출력해 보면 아래와 같다.

 

딕셔너리는 여기까지.

Wraven...