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)) |
| |
| |
| 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)] |
| """ |