zip(*iterable)은 동일한 개수로 이루어진 자료형을 묶어주는 역할을 하는 함수이다.
- 배열의 행과 열을 바꿀때 사용할 수 있다.
num = [1,2,3] char = ['c','h','u'] new_list = list(map(list, zip(num, char))) print(new_list)
결과 :
- list로 두 번 변경하는 이유는 zip과 map의 return값은 zip object, map object이기 때문이다.
✅unzip
num1, char2 = map(list,zip(*new_list)) print('num1',num1, '\nchar2', char2)
결과 :
num = [[1,2,3],[4,5,6],[7,8,9]] new_list = list(map(list, zip(*num))) print('zip',new_list)
결과 :
- 배열의 행과 열을 바꿀수 있다.
✅new_list에서 다시 num으로 변경할 수 있다.(unzip)
print('unzip',list(map(list,zip(*new_list))))
결과 :
- 인자의 길이가 다를 경우에는 가장 짧을 길이를 기준으로 묶이고 나머지는 버려진다.
ex 1)num = [1,2,3] char = ['c','h'] new_list = list(map(list, zip(num, char))) print('new_list',new_list) num1, char2 = map(list,zip(*new_list)) print('num1',num1, '\nchar2', char2)
결과 :
ex 2)num = [[1,2,3],[4,5,6],[7,8]] new_list = list(map(list, zip(*num))) print('zip',new_list) print('unzip',list(map(list,zip(*new_list))))
결과 :
https://cbw1030.tistory.com/216
https://www.daleseo.com/python-zip/