2. Dictionary
■ 개요
- 파이썬의 가장 강력한 데이터 컬렉션
- 파이썬에서 빠르게 데이터베이스 같은 연산을 가능하게 함
- 다른 언어에서는 다른 이름으로 불림
- Associative Arrays (연관 배열) - Perl / PHP
- Properties or Map or HashMap(속성, 맵, 해쉬맵) - Java
- Property Bag (속성 가방) - C# / .Net
■ 특징
- {} 기호 혹은 dict() 를 이용해 생성
- key : value의 쌍으로 이루어짐. 변환되는 값은 Key로 사용 불가(예 : list)
- Key를 통해 Value를 얻는다
- {Key1:Value1, Key2:Value2, Key3:Value3 ...}
dic = {'name':'Gildong', 'phone':'0119993323', 'birth': '1118’}
- 키 값이 반드시 문자열일 필요 없으며 변경 불가능한 데이터만 키가 될 수 있다.
(immutable 데이터인 문자열, 튜플, 숫자 값은 키가 될 수 있으나, 리스트는 키가 될 수 없다.)
- 사전변수명[키](ex: dic[‘address’]) 형식으로 찾을 경우 찾는 키가 없으면 예외를 발생한다.
- get 함수는 키가 없을 때 예외를 발생하는 대신 None을 리턴한다.
■ Dictionary 관련 함수
함수명 |
설명 |
min() |
키 값 중에서 최솟값 (사전적 순서) |
max() |
키 값 중에서 최대값 (사전적 순서) |
get(키 [, 값]) |
특정 키를 통해 값을 얻음. 해당 키가 없으면 디폴값으로 대체 |
keys() |
키 값을 리스트로 얻어옴 |
values() |
밸류값을 리스트로 얻어옴 |
items() |
키와 밸류의 쌍을 튜플로 얻어옴 |
sorted(iterable, *, key=None, reverse=False) |
내장함수, 딕셔너리의 키를 오름차순 정렬 |
# 딕셔너리 생성
x = {'name':'홍길동', 'age' : 32}
y = dict() # {}
y['name'] = '전우치' # 문자열을 키로 하여 데이터 삽입
y['phone'] = '010-2222-3333'
y['age'] = 28
print(y)
print('나이 :' ,y['age'])
z = {1 : 'Korea'}
z[2] = '한국사람'
z[(1, 2)] = '서울시’ # 튜플을 키로 하여 값을 삽입
z[1] # 키를 통해 값을 출력
z[(1, 2)] # 키를 통해 값을 출력
y = dict() # {}도 가능
y['name'] = '전우치' # 문자열을 키로 하여 데이터 삽입
y['phone'] = '010-2222-3333'
y['age'] = 28
for key in y.keys():
print(key)
for value in y.values():
print(value)
y.items() # key, value를 쌍으로 한 튜플을 반환
print('name' in y)
print('email' in y)
# min() 함수
score = {'eng' : 100, 'java' : 98, 'japan' : 99}
max(score)
max(score.values())
댓글 영역