Python/45가지 파이썬 기초문법 예제

파이썬 (11) - Dictionary 합 구하기(Dictionary Items Sum)

monstro 2025. 4. 8. 00:15
728x90
반응형

파이썬의 자료구조 중 하나인 Dictionary에 대해 알아보도록 한다

 

1) Dictionary란?

DictionaryKeyValue의 대응관계를 갖는 자료구조이다

해시테이블 기반으로 동작하여 매우 빠르고 또한 저장한 데이터를 변형할 수 있는 가변적 특성도 갖고 있다

 

Dictionary를 생성하는 방법은 2가지가 있는데,

명시적인 방법묵시적인 방법을 통해 생성이 가능하다

  • 명시적인 방법 : dict({key : value, ...})
  • 묵시적인 방법 : {key : value, ...}

 

key와 value를 사용하기에 데이터의 형식 중 하나인 json과 비슷하다고 생각할 수 있지만,

json과는 다르게 형식이 매우 자유롭다는 특징을 갖고 있다

  • 튜플을 사용하여 시퀀스형 페어의 딕셔너리를 만들수 있고 : {(1, 'num1'), (2, 'num2'), ...}
  • key 조합을 다양하게 설정하는 것도 가능하다 : d = {'name' : 'Lee', 1 : [4, 5, 6]}

 

이제 간단한 예제를 통해 Dictionary를 사용하는 방법을 알아보도록 한다

d = {'a' : 17, 'b' : 114, 'c' : 247, 'd' : 362, 'e' : 220, 'f' : 728, 'g' : -283, 'h' : 922}

 

위의 Dictionary에서 value의 총합을 구하기 위한 코드를 작성해본다

 

1) 순회를 통한 처리

sum1 = 0
for i in d:
    sum1 += d[i]
print(sum1)

 

딕셔너리 역시, iterable 하므로 순회가 가능하다

따라서 for문을 통해 처리가 가능하고 처리 결과는 다음과 같다

 

2) 딕셔너리 메서드 - values를 사용

print(sum(d.values()))

 

딕셔너리에서 저장된 모든 value를 리스트의 형태로 리턴하는 values 메서드를 사용한다

리턴된 리스트를 sum 메서드에 인자로 넘겨 총합을 구할 수 있다

실행 결과는 다음과 같다

 

3) 리스트 컴프리헨션

print(sum([d[key] for key in d]))

 

빈 리스트의 안에서 딕셔너리를 순회하면서 value를 가져와 리스트에 저장한다

내용이 채워진 리스트를 sum 메서드에 넘겨 총합을 구할 수 있다

실행 결과는 다음과 같다

728x90
반응형