[파이썬 300제 풀기] 081 ~ 090 (파이썬 딕셔너리)

2021. 4. 2. 00:06Today I Learned.../Python

081 별 표현식

기본적으로 데이터 언패킹은 좌변의 변수와 우변 데이터 개수가 같아야 한다.

하지만 star expression을 사용하면 변수의 개수가 달라도 데이터 언패킹을 할 수 있다.

튜플에 저장된 데이터 중에서 앞에 있는 두 개의 데이터만 필요할 경우 나머지 데이터의 언패킹 코드를 작성할 필요가 없다.

>> a, b, *c = (0, 1, 2, 3, 4, 5)
>> a
0
>> b
1
>> c
[2, 3, 4, 5]

다음과 같이 10개의 값이 저장된 scores 리스트가 있을 때, star expression을 사용하여 좌측 8개의 값을 valid_score 변수에 바인딩하여라.

scores = [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]
*valid_score, a, b = scores
print(valid_score)

082

 

다음과 같이 10개의 값이 저장된 scores 리스트가 있을 때, star expression을 사용하여 우측 8개의 값을 valid_score 변수에 바인딩하여라.

scores = [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]
a, b, *valid_score = scores
print(valid_score)

083

다음과 같이 10개의 값이 저장된 scores 리스트가 있을 때, star expression을 사용하여 가운데 있는 8개의 값을 valid_score 변수에 바인딩하여라.

scores = [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]
a, *valid_score, b = scores
print(valid_score)

084 비어있는 딕셔너리

 

temp 이름의 비어있는 딕셔너리를 만들라.

temp = {}

085

 

다음 아이스크림 이름과 희망 가격을 딕셔너리로 구성하라.

이름 희망 가격
메로나 1000
폴라포 1200
빵빠레 1800
icecream = {'메로나': 1000, '폴라포': 1200, '빵빠레': 1800}
print(icecream)

086

85번의 딕셔너리에 아래 아이스크림 가격정보를 추가하라.

icecream = {'메로나': 1000, '폴라포': 1200, '빵빠레': 1800}
icecream['죠스바'] = 1200
icecream['월드콘'] = 1500
print(icecream)

087

다음 딕셔너리를 사용하여 메로나 가격을 출력하라.

ice = {'메로나': 1000,
       '폴라포': 1200,
       '빵빠레': 1800,
       '죠스바': 1200,
       '월드콘': 1500}
실행 예:
메로나 가격: 1000
print("메로나 가격: ", ice['메로나'])

088

같은 딕셔너리에서 메로나의 가격을 1300으로 수정하라.

ice['메로나'] = 1300

089

같은 딕셔너리에서 메로나를 삭제하라.

del ice['메로나']
print(ice)

090

다음 코드에서 에러가 발생한 원인을 설명하라.

>> icecream = {'폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
>> icecream['누가바']
Traceback (most recent call last):
  File "<pyshell#69>", line 1, in <module>
    icecream['누가바']
KeyError: '누가바'

: 딕셔너리에 없는 키(누가바)를 인덱싱했기 때문


Reference: 초보자를 위한 파이썬 300제 > 06. 파이썬 딕셔너리 > 081 ~ 090