본문 바로가기
💻 개발블로그/파이썬 300제 문제

파이썬300제: 파이썬 딕셔너리 081~090(20220124)

by August.J 2022. 1. 25.

🌞파이썬 081~090문제


#081 별 표현식 ⭕

데이터 언패킹은 좌변의 변수와 우변 데이터 개수가 같아야한다. 하지만 star expression을 사용하면 변수의 개수가 달라도 데이터 언패킹을 할 수 있다. 튜플에 저장된 데이터 중에서 앞에 있는 두 개의 데이터만 필요할 경우 나머지 데이터의 언패킹 코드를 작성할 필요가 없다.

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

:: 10개의 값이 저장된 scores 리스트가 있을 때, start 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]

:: 풀이:

#풀이1
scores = [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]

*a, b, c = scores
valid_score = a

print(valid_score)


#풀이2
scores = [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]

*valid_score, b, c = scores
print(valid_score)

*a 로 앞의 8개 값을 묶어주고, 뒤에 남은 2개로 따로 정의해준다.


#082 ⭕

10개의 값이 저장된 scores 리스트를 start 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]

:: 풀이:

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 리스트가 있을 때, start 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]

:: 풀이:

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 = {}
print(type(temp))

#085 ⭕

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

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

print(icecream, type(icecream))

#086 ❌

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

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

인덱스로 값을 넣어준다.


#087 ❌

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

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

print('메로나 가격:',ice['메로나'])

인덱스에 원하는 값을 넣어주고 출력한다.


#088 ⭕

다음 딕셔너리에서 메로나의 가격을 1300으로 수정하기

ice = {'메로나': 1000,
       '폴로포': 1200,
       '빵빠레': 1800,
       '죠스바': 1200,
       '월드콘': 1500}
ice = {'메로나': 1000,
       '폴로포': 1200,
       '빵빠레': 1800,
       '죠스바': 1200,
       '월드콘': 1500}

ice['메로나'] = 1300
print(ice)

#089 ⭕

다음 딕셔너리에서 메로나를 삭제하기

ice = {'메로나': 1000,
       '폴로포': 1200,
       '빵빠레': 1800,
       '죠스바': 1200,
       '월드콘': 1500}
ice = {'메로나': 1000,
       '폴로포': 1200,
       '빵빠레': 1800,
       '죠스바': 1200,
       '월드콘': 1500}

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

del을 사용해서 딕셔너리에서 요소 삭제하기


#090 ⭕

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

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

:: 풀이: icecream의 딕셔너리에는 '누가바'가 없기 때문에 인식할 수 없음