728x90
반응형
파이썬의 자료구조 중 하나인 Dictionary에 대해 알아보도록 한다
1) Dictionary란?
Dictionary는 Key와 Value의 대응관계를 갖는 자료구조이다
해시테이블 기반으로 동작하여 매우 빠르고 또한 저장한 데이터를 변형할 수 있는 가변적 특성도 갖고 있다
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
반응형
'Python > 45가지 파이썬 기초문법 예제' 카테고리의 다른 글
| 파이썬 (13) - Dictionary 데이터 필터링 (0) | 2025.04.18 |
|---|---|
| 파이썬 (12) - Dictionary 아이템 추가 (0) | 2025.04.18 |
| 파이썬 (10) - 중복 제거(Remove Duplication) (0) | 2025.04.06 |
| 파이썬 (9) - Range & Map & Lambda (0) | 2025.04.06 |
| 파이썬 (8) - Range 함수 활용 (2) (0) | 2025.03.24 |