[Python] zip()
2021. 1. 26. 10:43ㆍProgramming Language/Python
Python 내장함수, zip(*iterables)
zip(*iterables)
zip()
은 동일한 개수로 이루어진 자료형을 묶어주는 역할을 한다.- 제너레이터로 리턴 되기 때문에,
list
나dic
등 으로 변환 해 주어야 한다.
list1 = [1,2,3]
list2 = ["홍길동", "김철수", "박미애"]
zip_list = zip(list1, list2)
print(zip_list, type(zip_list)) # 제너레이터로 리턴
print(list(zip_list)) # 리스트로 변환
# dictionary로 변환
dic ={}
for i, s in zip(list1, list2):
dic[i] = s
print(dic)
"""
<zip object at 0x03795868> <class 'zip'>
[(1, '홍길동'), (2, '김철수'), (3, '박미애')]
{1: '홍길동', 2: '김철수', 3: '박미애'}
"""
- 두 자료형의 개수가 다를경우, 긴 것은 누락된다.
list1 = [1,2,3,4]
list2 = ["홍길동", "김철수", "박미애"]
zip_list = zip(list1, list2)
print(zip_list, type(zip_list))
print(list(zip_list))
"""
<zip object at 0x00DF5868> <class 'zip'>
[(1, '홍길동'), (2, '김철수'), (3, '박미애')]
"""
zip_longest()
zip_longest()
를 사용하면 두 자료형의 개수가 다른 경우에도 누락시키지 않고 zip 할 수 있다.zip_longest(*iterables, fillvalue = None)
이며, default는 None이다.
from itertools import zip_longest
list1 = [1,2,3,4,5]
list2 = ["홍길동", "김철수", "박미애"]
zip_list = zip_longest(list1, list2)
print(zip_list, type(zip_list)) # 제너레이터로 리턴
print(list(zip_list)) # 리스트로 변환
"""
[(1, '홍길동'), (2, '김철수'), (3, '박미애'), (4, None), (5, None)]
"""
반응형
'Programming Language > Python' 카테고리의 다른 글
[Python] input()과 sys.stdin (2) | 2021.02.09 |
---|---|
[Python] 파이썬에서 아스키코드 변환 (chr(), ord()) (0) | 2021.02.07 |
[Python] heapq 모듈 (0) | 2021.01.19 |
[Python] Call by.. What? (0) | 2021.01.15 |
[Python] divmod() (0) | 2021.01.14 |