파이썬 300제[No.091 - 100] - 딕셔너리2
{key:value} 구조로 이루어진 딕셔너리에 대한 문제풀기
No.091 딕셔너리 생성
문제) 아래의 표에서, 아이스크림 이름을 키값으로, (가격, 재고) 리스트를 딕셔너리의 값으로 저장하라. 딕셔너리의 이름은 inventory로 한다.
이름 가격 재고
메로나 | 300 | 20 |
비비빅 | 400 | 3 |
죠스바 | 250 | 100 |
입력) 변수에 {key:value}로 여러개를 만들고 value의 경우 입력값이 다수이므로 리스트 형태로 묶어준다.
inventory = {"메로나": [300, 20],
"비비빅": [400, 3],
"죠스바": [250, 100]}
print(inventory)
출력)
{'메로나': [300, 20], '비비빅': [400, 3], '죠스바': [250, 100]}
No.092 딕셔너리 인덱싱
문제) inventory 딕셔너리에서 메로나의 가격을 화면에 출력하라.
inventory = {"메로나": [300, 20], "비비빅": [400, 3], "죠스바": [250, 100]}
실행 예시: 300 원
입력) 딕셔너리 key으로 value를 출력할 때 딕셔너리변수[key] 포맷으로 호출하는 것이 기본이지만 이번 문제는 value 값이 2개 이므로 리스트형으로 묶여있다 따라서 리스트 인덱싱 요소도 함께 포함되어야 한다.
딕셔너리변수[key][value 위치] 포맷을 사용하여 출력한다.
inventory = {"메로나": [300, 20], "비비빅": [400, 3], "죠스바": [250, 100]}
print(inventory["메로나"][0], "원", end=" ")
출력)
300 원
No.093 딕셔너리 인덱싱
문제) inventory 딕셔너리에서 메로나의 재고를 화면에 출력하라.
inventory = {"메로나": [300, 20], "비비빅": [400, 3], "죠스바": [250, 100]}
실행 예시: 20 개
입력) 92번과 동일한 문제로 value가 여러개여서 리스트로 묶여 있으므로 리스트 인덱싱을 활용하여 출력할 요소의 값을 활용한다.
inventory = {"메로나": [300, 20], "비비빅": [400, 3], "죠스바": [250, 100]}
print(inventory["메로나"][1], "개", end=" ")
출력)
20 개
No.094 print 기초
문제) inventory 딕셔너리에 아래 데이터를 추가하라.
inventory = {"메로나": [300, 20], "비비빅": [400, 3], "죠스바": [250, 100]}
이름 가격재고
월드콘 5007
실행 예시:
print(inventory) {'메로나': [300, 20], '비비빅': [400, 3], '죠스바': [250, 100], '월드콘': [500, 7]}
입력) 존재하는 딕셔너리에 추가하려는 key 와 value는 변수[key] = [value] 구조를 사용하여 문제를 푼다.
inventory = {"메로나": [300, 20], "비비빅": [400, 3], "죠스바": [250, 100]}
inventory["월드콘"] = [500, 7]
print(inventory)
출력)
{'메로나': [300, 20], '비비빅': [400, 3], '죠스바': [250, 100], '월드콘': [500, 7]}
No.095 딕셔너리 keys()메소드
문제) 다음의 딕셔너리로부터 key 값으로만 구성된 리스트를 생성하라.
icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
입력) keys() 는 딕셔너리 중 key 만 추출해내는 기능을 수행한다. 리스트를 구성하라고 하였으므로 변수에 keys()를 호출한 값을 list()로 감싸준다.
icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
key_ice = icecream.keys()
print(list(key_ice))
출력)
['탱크보이', '폴라포', '빵빠레', '월드콘', '메로나']
No.096 딕셔너리 values() 메소드
문제) 다음의 딕셔너리에서 values 값으로만 구성된 리스트를 생성하라.
icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
입력) 95번과 유사한 문제다. values()는 딕셔너리에서 value만 추출하는 기능을 수행한다. 리스트를 구성해야하므로 변수가 values()를 호출하고 그것을 list()로 감싼다
icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
ice_values = list(icecream.values())
print(ice_values)
출력)
[1200, 1200, 1800, 1500, 1000]
No.097 딕셔너리 values() 메소드
문제) icecream 딕셔너리에서 아이스크림 판매 금액의 총합을 출력하라.
icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
출력 예시:
6700
입력) 변수가 values호출해서 딕셔너리의 values값을 추출하여 해당 요소들을 sum()를 통해 합계를 구한다.
icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
ice_values_sum = sum(icecream.values())
print(ice_values_sum)
출력)
6700
No.098 딕셔너리 update() 메소드
문제) 아래의 new_product 딕셔너리를 다음 icecream 딕셔너리에 추가하라.
icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
new_product = {'팥빙수':2700, '아맛나':1000}
실행 예시:
print(icecream)
{'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000, '팥빙수':2700, '아맛나':1000}
입력) 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}
No.099 zip과 dict
문제) 아래 두 개의 튜플을 하나의 딕셔너리로 변환하라. keys를 키로, vals를 값으로 result 이름의 딕셔너리로 저장한다.
keys = ("apple", "pear", "peach")
vals = (300, 250, 400)
실행 예시:
print(result)
{'apple': 300, 'pear': 250, 'peach': 400}
입력) zip()은 동일한 개수로 이루어진 자료형을 순서에 맞게 서로 묶어주는 역할을 한다. dict()은 특정 자료형을 딕셔너리로 변환 시켜주는 역할을 한다.
keys = ("apple", "pear", "peach")
vals = (300, 250, 400)
intege_result = dict(zip(keys, vals)) # 각 자료형 변수를 zip으로 묶어주고 딕셔너리로 전환을 위해 dict()으로도 묶어준다.
print(intege_result)
출력)
{'apple': 300, 'pear': 250, 'peach': 400}
No.100 zip과 dict
문제) date와 close_price 두 개의 리스트를 close_table 이름의 딕셔너리로 생성하라.
date = ['09/05', '09/06', '09/07', '09/08', '09/09']
close_price = [10500, 10300, 10100, 10800, 11000]
실행 예시:
print(close_table)
{'09/05': 10500, '09/06': 10300, '09/07': 10100, '09/08': 10800, '09/09': 11000}
입력) 문제 99번과 동일한 방법으로 문제를 푼다. zip()으로 두변수를 묶고, 딕셔너리 전환을 위해 dict()을 활용한다.
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)) # 각 자료형 변수를 zip으로 묶어주고 딕셔너리로 전환을 위해 dict()으로도 묶어준다.
print(close_table)
출력)
{'09/05': 10500, '09/06': 10300, '09/07': 10100, '09/08': 10800, '09/09': 11000}
'#개인연구 및 공부# > [python]' 카테고리의 다른 글
(2020.11.07)파이썬 300제 문제풀기 [No.111 - 120] - 분기문 2 (0) | 2020.11.07 |
---|---|
(2020.11.06)파이썬 300제 문제풀기 [No.101 - 110] - 분기문 (0) | 2020.11.06 |
(2020.11.04)파이썬 300제 문제풀기 [No.081 - 090] - 딕셔너리 (0) | 2020.11.04 |
(2020.11.03)파이썬 300제 문제풀기 [No.071 - 080] - 튜플 (0) | 2020.11.03 |
(2020.11.02)파이썬 300제 문제풀기 [No.061 - 070] - 리스트 2 (0) | 2020.11.02 |
댓글