zip
여러개의 iterable 객체 (like. list, tuple, dic..) 을 객체로 받으면서,
각 객체가 담고 있는 원소를 차례로 접근할 수 있는 능력자 iterator.
원래는 이렇게 for문을 두 리스트에 돌리겠지만,
>>> numbers = [1, 2, 3]
>>> letters = ["A", "B", "C"]
>>> for i in range(3):
... pair = (numbers[i], letters[i])
... print(pair)
...
(1, 'A')
(2, 'B')
(3, 'C')
zip을 사용하면,
>>> for i in range(3):
... pair = (numbers[i], letters[i])
이렇게 두 줄이
>>> for pair in zip(numbers, letters):
이렇게 한 줄로 줄어든다.
>>> numbers = [1, 2, 3]
>>> letters = ["A", "B", "C"]
>>> for pair in zip(numbers, letters):
... print(pair)
...
(1, 'A')
(2, 'B')
(3, 'C')
혹시나 list로 바로 출력하고 싶으면, (=unzip)
변수명 주고 바로 list로 바꿔서 배당
>>> pairs = list(zip(numbers, letters))
>>> print(pairs)
[(1, 'A'), (2, 'B'), (3, 'C')]
더 줄이면,
list를 줄 필요도 없어진다.
728x90
'Study (Data Science) > Python' 카테고리의 다른 글
Unit 31. 재귀호출 (recursive call) (0) | 2022.11.29 |
---|---|
Unit 29. 함수의 return (0) | 2022.11.29 |
Unit30. *args / **kwargs (가변인자; Variadic Parameters) (0) | 2022.11.29 |
참고) map + lambda (0) | 2022.11.29 |
참고) iterable, iterator 차이점 (0) | 2022.11.29 |
댓글