본문 바로가기
Python/Python 300제

파이썬 300제 91~100 (딕셔너리)

by Maccrey Coding 2024. 7. 15.
728x90
반응형

91. 아래의 표에서, 아이스크림 이름을 키값으로, (가격, 재고) 리스트를 딕셔너리의 값으로 저장하라. 딕셔너리의 이름은 inventory로 한다.

->

inventory = {"메로나": [300, 20], 
             "비비빅": [400, 3], 
             "죠스바": [250, 100]}
print(inventory)

 

92. inventory 딕셔너리에서 메로나의 가격을 화면에 출력하라.

inventory = {"메로나": [300, 20],
              "비비빅": [400, 3],
              "죠스바": [250, 100]}
실행 예시:
300 원

->

print(inventory["메로나"][0], "원")

 

93. inventory 딕셔너리에서 메로나의 재고를 화면에 출력하라.

inventory = {"메로나": [300, 20],
              "비비빅": [400, 3],
              "죠스바": [250, 100]}
실행 예시:
20 개

->

print(inventory["메로나"][1], "개")

 

94. inventory 딕셔너리에 아래 데이터를 추가하라.

inventory = {"메로나": [300, 20],
              "비비빅": [400, 3],
              "죠스바": [250, 100]}

실행 예시:
>> print(inventory)
{'메로나': [300, 20], '비비빅': [400, 3], '죠스바': [250, 100], '월드콘': [500, 7]}

->

inventory = {"메로나": [300, 20], 
             "비비빅": [400, 3], 
             "죠스바": [250, 100]}
inventory["월드콘"] = [500, 7]
print(inventory)

 

95. 다음의 딕셔너리로부터 key 값으로만 구성된 리스트를 생성하라.

icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}

->

icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
ice = list(icecream.keys())
print(ice)

 

96. 다음의 딕셔너리에서 values 값으로만 구성된 리스트를 생성하라.

icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}

->

icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
price = list(icecream.values())
print(price)

 

97. icecream 딕셔너리에서 아이스크림 판매 금액의 총합을 출력하라.

icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
출력 예시:
6700

->

icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
print(sum(icecream.values()))

 

98. 아래의 new_product 딕셔너리를 다음 icecream 딕셔너리에 추가하라.

icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
new_product = {'팥빙수':2700, '아맛나':1000}
실행 예시:
>> print(icecream)
{'탱크보이': 1200,  '폴라포': 1200,  '빵빠레': 1800,  '월드콘': 1500,  '메로나': 1000,  '팥빙수':2700, '아맛나':1000}

->

icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
new_product = {'팥빙수':2700, '아맛나':1000}
icecream.update(new_product)
print(icecream)

 

99. 아래 두 개의 튜플을 하나의 딕셔너리로 변환하라. keys를 키로, vals를 값으로 result 이름의 딕셔너리로 저장한다.

keys = ("apple", "pear", "peach")
vals = (300, 250, 400)
실행 예시:
>> print(result)
{'apple': 300, 'pear': 250, 'peach': 400}

->

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

 

100. 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}

->

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)

 

코드 분석

  1. date = ['09/05', '09/06', '09/07', '09/08', '09/09']
    • 이 코드는 date라는 리스트를 만들고, 각 요소에 'MM/DD' 형식의 날짜 문자열을 저장합니다. 예를 들어, '09/05'는 9월 5일을 의미합니다.
  2. close_price = [10500, 10300, 10100, 10800, 11000]
    • 이 코드는 close_price라는 리스트를 만들고, 각 요소에 해당 날짜의 종가를 정수형으로 저장합니다. 예를 들어, 10500은 9월 5일 종가를 의미합니다.
  3. close_table = dict(zip(date, close_price))
    • 이 코드는 close_table라는 사전을 만들고, zip 함수와 dict 함수를 사용하여 날짜와 종가를 연결합니다.
      • zip 함수는 두 리스트를 쌍으로 묶어 새로운 리스트를 만듭니다. 이 경우 date 리스트의 각 요소는 close_price 리스트의 해당 요소와 쌍으로 묶입니다. 예를 들어, ('09/05', 10500)와 같은 쌍이 만들어집니다.
      • dict 함수는 쌍 리스트를 사전으로 변환합니다. 쌍에서 첫 번째 요소는 사전의 키가 되고, 두 번째 요소는 값이 됩니다.
  4. print(close_table)
    • 이 코드는 close_table 사전의 내용을 출력합니다.

출력:

{'09/05': 10500, '09/06': 10300, '09/07': 10100, '09/08': 10800, '09/09': 11000}

설명:

출력된 사전은 각 날짜를 키로, 해당 날짜의 종가를 값으로 가지고 있습니다.

  • 예를 들어, '09/05' 키에 대한 값은 10500이며, 이는 9월 5일 종가가 10500원임을 의미합니다.
  • 이 사전을 통해 날짜를 기준으로 종가를 쉽게 조회할 수 있습니다.
728x90
반응형

'Python > Python 300제' 카테고리의 다른 글

파이썬 300제 111~120 (분기문)  (1) 2024.07.15
파이썬 300제 101~110 (분기문)  (0) 2024.07.15
파이썬 300제 81~90 (딕셔너리)  (4) 2024.07.15
파이썬 300제 71~80 (튜플)  (6) 2024.07.15
파이썬 300제 61~70 (리스트)  (1) 2024.07.15