1. 사전(dictionary) 자료형?
- (key, value) 쌍으로 데이터를 저장하는 자료형이다.
- 따라서 key로 데이터에 접근한다.
- 중괄호 { } 를 사용하여 나타낸다.
2. 빈 사전 선언하기
dic = dict()
# 또는
dic = {}
3. 사전에 데이터 저장하고 접근하기
dic = {}
dic['사과'] = 'apple' # {'사과': 'apple'}
dic['바나나'] = 'banana' # {'사과': 'apple', '바나나': 'banana'}
fruit1 = dic['사과'] # 'apple'
fruit2 = dic['바나나'] # 'banana'
4. 사전에 특정한 key가 있는지, 없는지 확인할 때
- 'in' 또는 'not in' 을 사용한다.
- value 에 해당하는 값이 아닌 key 에 해당되는 값을 찾아야 한다는 점에 유의하자.
dic = {'사과': 'apple', '바나나': 'banana'}
'사과' in dic # True
'apple' in dic # False
5. 사전 자료형 활용 메서드(method)
- get(key) : key에 해당하는 value를 반환한다.
- keys() : key 값들만 담은 리스트를 갖는 dict_keys 객체를 반환
- values() : value 값들만 담은 리스트를 갖는 dict_values 객체를 반환
- items() : (key, value) 형태의 튜플들을 담은 리스트를 갖는 dict_items 객체를 반환
dic = {'사과': 'apple', '바나나': 'banana'}
dic.get('사과') # 'apple' => dic['사과'] 와 동일하다.
dic.keys() # dict_keys(['사과', '바나나'])
key_list = list(dic.keys()) # ['사과', '바나나']
dic.values() # dict_values(['apple', 'banana'])
list(dic.values()) # ['apple', 'banana']
dic.items() # dict_items([('사과', 'apple'), ('바나나', 'banana')])
list(dic.items()) # [('사과', 'apple'), ('바나나', 'banana')]
# 각 키에 따른 값을 하나씩 출력하기
for key in key_list:
print(dic[key])
# apple
# banana
6. dict_keys / dict_values / dict_items 객체?
- 사전 자료형에 대한 활용함수 keys(), values(), items() 의 반환 타입은 리스트가 아닌 클래스이다.
- 'for ... in ...' 구문을 활용하여 리스트처럼 접근할 수는 있으나 그 뿐, 본질적으로 리스트와 다르다.
- 따라서 리스트를 사용하고 싶다면 list() 함수를 이용해 형변환을 시켜야 한다.
dic = {'사과': 'apple', '바나나': 'banana'}
type(dic.keys()) # <class 'dict_keys'>
type(dic.values()) # <class 'dict_values'>
type(dic.items()) # <class 'dict_items'>
# for ~ in ~ 구문을 통해 리스트처럼 접근하는 것은 가능
for key in dic.keys():
print(dic[key])
# apple
# banana
# 리스트처럼 아예 인덱스로 접근하는 것은 불가능
data = dic.keys()
data[0] # TypeError: 'dict_keys' object is not subscriptable!
'프로그래밍 언어 > Python' 카테고리의 다른 글
[Python] 파이썬의 반복문 (0) | 2023.11.02 |
---|---|
[Python] 파이썬 입출력 (0) | 2023.11.01 |
[Python] 파이썬의 유용한 기본 내장 함수 (1) | 2023.10.30 |
[Python] 파이썬에서의 수의 계산 (0) | 2023.10.20 |
[Python] 파이썬 리스트 자료형 정리 (1) | 2023.10.19 |
댓글