본문 바로가기

PYTHON/초보자를 위한 파이썬 300제

06. 파이썬 딕셔너리 091 ~ 100

오 오늘 100번까지 풀었다 음하하 꾸준히! 합시다 (나한테 하는 말임)

https://wikidocs.net/78563

 

091 ~ 100

.answer {margin-top: 10px;margin-bottom: 50px;padding-top: 10px;border-top: 3px solid LightGray;bo…

wikidocs.net

 

# 2024 02 23
print('-'*80)
# 091
# 키는 아이스크림, 값은 가격과 재고를 나타내는 리스트인 딕셔너리 생성
inventory = {'메로나': [300, 20],
             '비비빅': [400, 3],
             '죠스바': [250, 100]}
print(inventory)

# 092
# 메로나 가격 출력
print("메로나 가격: %d원" % inventory['메로나'][0])

# 093
# 메로나 재고 출력
print("메로나 재고: %d개" % inventory['메로나'][0])

# 094
# 딕셔너리 데이터 추가
inventory['월드콘'] = [500, 7]
print(inventory)

# 095
# 딕셔너리의 key값으로만 구성된 리스트 생성
icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
ice_key = list(icecream.keys())
print(ice_key)

# 096
# 딕셔너리의 value값으로만 구성된 리스트 생성
ice_value = list(icecream.values())
print(ice_value)

# 097
# 아이스크림 판매 총합 출력
ice_total = sum(ice_value)
print("판매 총합: %d원" % ice_total)

# 098
# new_product 딕셔너리를 icecream 딕셔너리에 추가
new_product = {'팥빙수':2700, '아맛나':1000}
icecream.update(new_product)
print(icecream)

# 099
# 두 개의 튜플을 하나의 딕셔너리로 변환
keys = ("apple", "pear", "peach")
vals = (300, 250, 400)
result = dict(zip(keys, vals))
print(result)

# 100
# 두 개의 리스트를 하나의 딕셔너리로 변환
date = ['09/05', '09/06', '09/07', '09/08', '09/09']
close_price = [10500, 10300, 10100, 10800, 11000]
close_table = dict(zip(date, close_price))
print(close_table)

 

091 ~ 100 출력 결과

 

내가 몰랐던 문법

 

1. 딕셔너리 인덱싱

딕셔너리 인덱싱은 키를 사용하여 값에 접근하는 것을 의미한다. 만약 딕셔너리의 값이 리스트라면 리스트 안의 값에 대한 접근 방법은 일반적인 리스트 접근 방법과 동일하다. 해당 키 값을 가져온 후에 리스트 인덱싱을 사용해 리스트의 요소에 접근하는 것이다. 

 

2. keys(), values() 

딕셔너리의 keys() 메서드는 딕셔너리에 있는모든 키를 반환한다. 이 메서드를 호출하면 딕셔너리의 키들이 모두 담긴 리스트가 반환된다. 반면 values() 메서드는 딕셔너리에 있는 모든 값을 반환한다. keys() 메서드와 마찬가지로 이 메서드를 호출하면 딕셔너리의 값들이 모두 담긴 리스트가 반환된다. 

 

3. list(), tuple(), dict()

값을 추출하여 리스트, 튜플, 딕셔너리의 형태로 만들고자 할 때는 각각의 형태에 맞는 내장 함수를 사용하여 변환할 수 있다. 

list() : 리스트로 변환

tuple() : 튜플로 변환

dict() : 딕셔너리로 변환

 

4. update()

딕셔너리의 update() 메서드는 한 딕셔너리의 키-값 쌍을 다른 딕셔너리에 추가하거나 업데이트할 때 사용된다. 추가할 딕셔너리에 이미 같은 키가 있다면 해당 키의 값을 업데이트하고, 없는 키라면 새로운 키-값 쌍을 추가하는것이다. 

 

5. zip() 

zip() 함수는 여러 개의 순회 가능한(이터러블) 객체를 받아서 각 객체로부터 하나씩 요소를 가져와 튜플의 형태로 묶은 후 이 튜플들로 이루어진 이터레이터를 반환한다. 

 

keys = ("apple", "pear", "peach")
vals = (300, 250, 400)
result = dict(zip(keys, vals))

zip(keys, vals) 코드는 keys와 vals의 각 요소를 하나씩 묶은 튜플로 이루어진 이터레이터를 반환한다. 그 후 이터레이터로부터 받은 키-값 쌍을 사용해 새로운 딕셔더니를 생성한다. 

 

6. 이터레이터

파이썬에서 순회 간으한 객체의 요소를 순차적으로 접근할 수 있는 방법을 제공하는 객체이다.