본문 바로가기
Python

[Python3] dict의 다양한 생성방법과 zip() 함수

by 방준이 2021. 2. 10.
반응형

딕셔너리의 다양한 생성 방법과 zip() 함수를 이해해보자.

 

 

1. 딕셔너리의 기본적인 생성 방법은 다음과 같다.

>>> d = {'a' : 1, 'b': 2, 'c': 3}
>>> d
{'a': 1, 'b': 2, 'c': 3}

 

2. dict() 함수를 이용하는 방법

>>> d = dict([('a', 1), ('b', 2), ('c', 3)])
>>> d
{'a': 1, 'b': 2, 'c': 3}

 

3. 키가 문자열인 경우 딕셔너리를 생성하는 방법

>>> d = dict(a=1, b=2, c=3)
>>> d
{'a': 1, 'b': 2, 'c': 3}

 

4. zip() 함수를 이용하는 방법

>>> d = dict(zip(['a', 'b', 'c'], [1, 2, 3]))
>>> d
{'a': 1, 'b': 2, 'c': 3}

 

이 방식은 키는 키끼리 값은 값끼리 묶어서 zip함수에 전달하였다.

 

 

zip() 함수에 대한 이해

 

zip 함수에 대해서 조금 더 깊이 이해할 수 있도록 다음 예시들을 살펴보자. 

 

0.  zip() 함수의 반환값

>>> z = zip(['a', 'b', 'c'], [1, 2, 3])

>>> z

<zip object at 0x03C97850>

zip 함수의 반환값은 정확히 말하자면 제너레이터를 반환한다. 제너레이터 얻음으로써 그의 이점은 

 

 

1.  두 개의 리스트를 이용하여 key와 value를 구성

>>> z = zip(['a', 'b', 'c'], [1, 2, 3])

>>> for i in z:
	print(i, end=' ')

('a', 1) ('b', 2) ('c', 3) 

 

 

2.  두 개의 튜플을 이용하여 key와 value를 구성

>>> z = zip(('a', 'b', 'c'), (1, 2, 3))

>>> for i in z:
	print(i, end=' ')
	
('a', 1) ('b', 2) ('c', 3) 

 

3  문자열을 이용하여 key와 value를 구성

>>> z = zip('abc', '123')

>>> for i in z:
	print(i, end=' ')

('a', '1') ('b', '2') ('c', '3')

 

이 방식은 문자열을 조합하여 다수의 튜플들을 만들어 냈다. 물론 위의 방식은 기존 1, 2번과는 다르게 값이 문자이다. '123' 자리에 리스트나 튜플이 들어가도 문제없다. 지금까지의 예제를 관찰한 것을 바탕으로 정리를 해보면 zip() 함수는 key와 value의 묶음을 따로 전달받아서 튜플의 묶음들을 생성해낸다 이 정도로 요약해 볼 수 있다.

반응형

'Python' 카테고리의 다른 글

[Python] immutable vs mutable 객체의 차이  (2) 2021.10.19
[Python3] 문자열 관련 함수 총정리!  (0) 2021.02.09
[Python] 비트 연산  (2) 2021.02.06
[Python] 딕셔너리 모듈  (0) 2020.12.31
[Python] map & filter  (0) 2020.08.14