파이썬 기초문법 6
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
Author And Source
이 문제에 관하여(파이썬 기초문법 6), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@dohy426/파이썬-기초문법-6
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
|name | code|
| --- | --- |
|"John"| 0011|
| "Maria" | 1234|
D = {} ## 공집합이 아니고 dict이다. dict()를 사용해도 된다.
type(D)
# 사전 생성
D = {"John" : "0011", "Maria" : 1234} ## 숫자에선 0으로 시작하는게 없음으로 숫자를 str로 변환시켜야 한다.
D ## 여기서 John 과 Maria 는 key 값이라 부른다.
type(D.values()) ## dict의 value들도 type으로 형성되는데 이유는 class중 하나이기 때문이다.
D["John"]
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 이 되어야 한다.
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)
"KDT" in D ## KDT가 존재하지 않음으로 False가 출력된다
"a" in D ## a는 존재함으로 True값이 출력
1 in D.values() ## key-value뿐만 아니라 value 들을 찾을 수 도 있다.
1234 in D.values()
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
Author And Source
이 문제에 관하여(파이썬 기초문법 6), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dohy426/파이썬-기초문법-6저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)