딕셔너리(dictionary)
- 리스트와 유사하지만 항목의 순서를 따지지 않는다 → 인덱스로 값을 찾을수 없다
- 대신 값(value)과 이에 상응하는 키(key)를 지정한다 → 키-값이 쌍으로 이루어진 객체들이 저장
- 딕셔너리는 변경 가능하므로 key, value는 모두 추가,삭제,수정할 수 있다
딕셔너리 vs 리스트
- 리스트 : 아이템 정렬이 필요할 때 (인덱스 개념 등 사용가능)
- 딕셔너리 : key와 value 가 서로 연관되어 있거나 key를 사용하여 어떤 값을 찾을 때
1. 딕셔너리 생성 : {}
- 딕셔너리 생성에는 중괄호 {} 를 사용하며 그 안에 콤마로 구분된 key:value 쌍을 지정한다
ice = {'메로나':1000,'폴라포':1200,'빵빠레':1800}
print(ice)
{'메로나': 1000, '폴라포': 1200, '빵빠레': 1800}
2. 딕셔너리로 변환 : dict()
- 두 값으로 이루어진 시퀀스를 딕셔너리로 변환 가능 → zip()로 두 항목 시퀀스를 쉽게 생성 가능
ys = ("apple", "pear", "peach")
vals = (300, 250, 400)
result =dict(zip(keys,vals)) # zip() key와 vals를 합침
print(result
{'apple': 300, 'pear': 250, 'peach': 400}
3. 딕셔너리 결합하기 : update()
- update() : 한 딕셔너리의 키와 값을 복사해서 다른 딕셔너리에 붙여줌 → 키 값 중복시 두번째 딕셔너리 값으로
icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
new_product = {'팥빙수':2700, '아맛나':1000}
icecream.update(new_product)
print(icecream)
{'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000, '팥빙수': 2700, '아맛나': 1000}
4. 딕셔너리 항목 삭제하기 : del
- del 딕셔너리['key'] : 키 값으로 항목 삭제하기
del icecream['탱크보이']
print(icecream)
{'폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000, '팥빙수': 2700, '아맛나': 1000}
- clear() : 모든 항목 삭제하기
icecream.clear()
print(icecream)
{}
5. 키 값이 있는 지 확인하기 : in
- key만 존재하는 지 확인 가능하며 in을 사용
console = {'Nintento':'Switch','Sony':'PlayStation','Microsoft':'Xbox'}
'Switch' in console
False
6. 항목얻기, 모든 키 얻기, 모든 값 얻기. 쌍으로 값 얻기, 복사
- 항목얻기 : [key], get('key','없으면 여기 문구 출력')
console = {'Nintento':'Switch','Sony':'PlayStation','Microsoft':'Xbox'}
console['Sony']
'PlayStation'
console['Google'] # 키 값이 없을 시 에러발생
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_2368/1410900010.py in <module>
----> 1 console['Google']
KeyError: 'Google'
console.get('Microsoft')
'Xbox'
console.get('Google','Not in this dict') # 항목이 없다면 다음 구문 출력
'Not in this dict'
- 모든 키 얻기 : keys()
- 모든 값 얻기 : values()
- 모든 쌍 얻기 : items()
console.keys()
dict_keys(['Nintento', 'Sony', 'Microsoft'])
list(console.values()) # 리스트로 반환
['Switch', 'PlayStation', 'Xbox']
console.items()
dict_items([('Nintento', 'Switch'), ('Sony', 'PlayStation'), ('Microsoft', 'Xbox')])
- 복사하기 : copy()
console = {'Nintento':'Switch','Sony':'PlayStation','Microsoft':'Xbox'}
original_console = console.copy()
console['Gameboy'] = 'wii'
console
{'Nintento': 'Switch',
'Sony': 'PlayStation',
'Microsoft': 'Xbox',
'Gameboy': 'wii'}
original_console
{'Nintento': 'Switch', 'Sony': 'PlayStation', 'Microsoft': 'Xbox'}
'Data Science > python' 카테고리의 다른 글
[python] selenium 네이버 블로그 크롤링(2) (0) | 2022.01.02 |
---|---|
[python] selenium 네이버 블로그 크롤링(1) (0) | 2022.01.01 |
[python] 튜플(Tuple) (0) | 2021.12.25 |
[python] 리스트 정렬하기 list.sort(), sorted(list) (0) | 2021.12.25 |
문자열 나누기 split('구분자') (0) | 2021.12.25 |