
사전(Dictionary) (**)
파이썬에서 리스트와 함께 굉장히 많이 사용되는 구조.
- 파이썬에서 제공하는 사전 자료형은 key - value 방법을 통해 저장한다.
namecode
"John" | 0011 |
"Maria" | 1234 |
- 이런 table concept을 의미하며, 정수 index가 아닌 key값을 통해서 value를 access한다.
*key-value 방식으로 저장을 하는 것으로 얻는 이점은?
*A. 순서가 아닌 의미가 있는 값을 통해서 데이터 접근이 가능하다.
- 같은 말로 Hash Table이라고 불리며 데이터 관리에서 굉장히 중요한 개념이다.
- 파이썬에서 사전 자료형은 {}을 이용하여 표현하는데, 집합과의 차이점을 두기 위해 원소에 반드시 :가 들어가야 한다.
- 사전을 표현할 때는 {key : value, key2 : value2, ... } 형태로 표현한다.
e.g. {'a' : 1', "b" : 3}
D = {"major" : "statistic", "name" : "HanJiWoong"}
D

# 위에 나온 테이블 예시를 사전으로 만들어봅니다.
D= {"John" : '0011', "Maria" : '1234'}
D
# 사전 D에 key가 'a'이고 value가 3인 원소를 추가하자.
# 만약에 indexing하려는 key가 존재하지 않는 경우엔, assign을 하게되면 key-value pair가 추가됩니다.
# 아닌 경우에는 assign 하게되면 value가 업데이트 됩니다.
D['a'] = 5
D

D["a"] # key값이 이미 존재하는 경우에는 key값을 통한 indexing이 되며, key값이 존재하지 않을 때는 assignment를 사용하여 원소를 추가한다.
D2 = {'a' : 1 , 'a' : 2, 'b': 3} # 무엇이 문제일까?
D2 # key가 될 수 있는 data type은 int, float, str, tuple 이 있다.
TIP 사전을 만들 때 key는 중복이 있으면 절대 안된다.
사전에서 key가 될 수 있는 data type은 immutable이어야 한다.
사전의 모든 key값들 보기 keys()
D = {'name': 'kim', 'phone': '01012345679', 'birth': '1234'}
D.keys()

사전의 모든 value들 보기 values()
D.values()
사전의 모든 key, value 쌍 보기 items()
D.items()
사전의 원소 가져오기 get()
# D['name']과 같다.
D["name"] , D.get("name")

사전에 해당 key값이 존재하는지 확인하기 in
- in이라는 operator는 사전뿐만 아니라 모든 연속형 데이터 타입에 사용할 수 있다.
- 사전의 경우에는 key값을 대상으로 하고, 리스트, 튜플, 집합, 문자열에 대해서는 해당 원소가 좆재하는지 찾아서 True / False 를 알려준다.
"phone" in D

"major" in D

"name" in D

#리스트, 튜플, 집합에서도 테스트
L = [1,2,3]
t = (1,2,3)
s = {1,2,3}
print (2 in L)
print (2 in t)
print (2 in s)
'Note > Python' 카테고리의 다른 글
파이썬 라이브러리 - 인코딩과 디코딩 (0) | 2023.04.19 |
---|---|
파이썬 기초 문법 (3) - 튜플, 집합 (0) | 2023.02.28 |
파이썬 기초 문법 (2) - 리스트 (0) | 2023.02.13 |
파이썬 기초 문법 (1) - 연산, 문자열 (0) | 2023.02.13 |
04.for/while 반복문 (3) (0) | 2023.02.10 |