파이썬 기초문법 6

지리산근육곰·2021년 8월 10일
0

Python기초문법

목록 보기
6/8
post-thumbnail

7. 사전 (Dictionary)

  • 파이썬에선 dictionary를 key-value 방식으로 저장한다.
  • 사전형 자료는 {} 사용하고 : 로 구분한다.
  • {"Key-value" : value. , "Key-value2" : value. , ...}
  • 하나의 key에 하나의 value를 지정한다.
|name | code|
| --- | --- |
|"John"| 0011|
| "Maria" | 1234|
  • name은 key-value
  • code는 value

7.1 사전 생성

D = {} ## 공집합이 아니고 dict이다. dict()를 사용해도 된다.
type(D)
# 사전 생성
D = {"John" : "0011", "Maria" : 1234}  ## 숫자에선 0으로 시작하는게 없음으로 숫자를 str로 변환시켜야 한다.
D    ## 여기서 John 과 Maria 는 key 값이라 부른다. 

type(D.values())  ## dict의 value들도 type으로 형성되는데 이유는 class중 하나이기 때문이다.

7.2 Dictionary Indexing

  • list와 다르게 Key 값으로 indexing이 된다.
  • index의 순서가 없다.
D["John"]

7.3 Dictionary Data Insert and Update

D["a"] = 3  ## Dictionary 에 a 라는 key-value를 생성하고 3을 추가한다.(Inserting)
D

D["a"] = 15  ## 이미 a라는 key가 존재함으로 a값에 15를 update한다.
D

D2 = {'a' : 1, 'a' : 2, 'b' : 3}
D2  ## 이렇게 될경우 같은 a라는 variable에 1 과 2가 지정되는데 
	##처음 a key 값에 1 이 지정되고 그다음에 2로 업데이트 된다.

Tip 사전 생성시 중복되는 key는 안된다.

사전에 key는 immutable 이 되어야 한다.

7.4 사전 key-values and values 보기

D.keys()  ## key-values 보기

D.values()  ## values 보기

D.items()  ## key-value와 value를 pair로 보기

D.get('John')  ## dict에 특정 key-value의 value가져오기

# 굳이 get() 함수를 사용하는 이유는 특정 key에 name이 없으면 그값에 defult로 0을 출력할수있다.
D.get("b", 0)

7.5 Dictionary Boolean

"KDT" in D  ## KDT가 존재하지 않음으로 False가 출력된다

"a" in D  ## a는 존재함으로 True값이 출력

1 in D.values()  ## key-value뿐만 아니라 value 들을 찾을 수 도 있다.

1234 in D.values() 

7.6 리스트로 사전 만들기

name_list = ["John", "Maria"]
code_list = ["0011", 1234]

#name_list[0]
#code_list[0]
code_list[name_list.index("John")]

## 7.7 key-value 지우기

D = {"John" : "0011", "Maria" : 1234, 'a' : 1}

del D["John"]
D

0개의 댓글