python

[Python 미니세션] 딕셔너리 관련 함수

kinggoddino 2024. 7. 11.

▶ 문제1

  • d = {'a': 15, 'b': 634, 'c':124, 'd': -436, 'e': -235, 'f': 856, 'g': 23, 'h': 523}
  • 값만 다 더하기

values() 함수는 딕셔너리에서 value 값들만 반환해준다

d.values()
# dict_values([15, 634, 124, -436, -235, 856, 23, 523])

 

이걸 이용해서 문제 풀기

sum = 0                # 먼저 0인 변수 sum 선언
for i in d.values():   # d 딕셔너리에서 value 값만 뽑아서 반복해서 i에 할당
    sum += i           # sum 에다가 i를 하나씩 더해주기
print(sum)             # 1504

 

for을 안쓰고 sum()함수로 엄청 간단하게 푸는 방법도 있다....

sum = sum(d.values())   # value 꺼내서 sum
print(sum)				# 1504

문제2

  • d = {'a': 15, 'b': 634, 'c':124, 'd': -436, 'e': -235, 'f': 856, 'g': 23, 'h': 523}
  • value가 150 이상인 값만 더하기
sum = 0                # 숫자를 담아줄 변수 선언, 초기값은 0
for i in d.values():   # d 딕셔너리에서 value만 빼와서 i에 각각 할당
    if i >= 150:       # i가 150과 같거나 클경우에는
        sum += i       # sum 변수에 i 값 더해주기
print(sum)             # sum 출력 : 2013

변수에 하나씩 더하는 건 이렇게 조건이 걸리는 경우에 쓰는거구나!

 

근데 sum 은 이미 내장함수 이름으로 사용하고 있는 이름이라서, 혼선을 줄 수도 있으니 되도록 중복되게 쓰지 않는 게 좋다고 한다. 예를 들면 '합'을 의미하는 변수명은 'total' 로 정하는 게 좋다.

이미 내장함수로 있는 이름은 변수명으로 선언하지 말기!


문제3

  • d = {'a': 'apple', 'b': 'banana'} 를
  • d = {'a': 'apple', 'b': 'banana', 'c': 'kiwi', 'd': 'grape'} 로 수정하기

update() 함수는 딕셔너리에 새로운 요소를 추가해준다

d = {'a': 'apple', 'b': 'banana'}
d.update({'c' : 'kiwi'})  # d 딕셔너리에 새로운 키-밸류 쌍 추가하기
d.update({'d' : 'grape'}) # d 딕셔너리에 새로운 키-밸류 쌍 추가하기

print(d)  # {'a': 'apple', 'b': 'banana', 'c': 'kiwi', 'd': 'grape'}

 

근데 update() 말고 다른 방법도 찾았다. 적어놓기

d = {'a': 'apple', 'b': 'banana'}
d['c'] = 'kiwi'
d['d'] = 'grape'

print(d)  # {'a': 'apple', 'b': 'banana', 'c': 'kiwi', 'd': 'grape'}

 

 


 

'python' 카테고리의 다른 글

[Python 미니세션] 최소값의 인덱스 구하기  (0) 2024.07.17
[Python 미니세션] 함수 *Asterisk  (0) 2024.07.12
[Python 미니세션] 기본문제  (0) 2024.07.10
[Python 기초] f-string  (0) 2024.07.09
[Python 기초] 집합 set  (0) 2024.07.09