본문 바로가기
#개인연구 및 공부#/[python]

(2020.11.05)파이썬 300제 문제풀기 [No.091 - 100] - 딕셔너리2

by 착한해커 2020. 11. 5.

파이썬 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}

 

댓글