다음 목록 목록을 압축하고 싶습니다.
>>> zip([[1,2], [3,4], [5,6]])
[[1,3,5], [2,4,6]]
이는 zip목록이 개별 구성 요소로 분할 된 경우에만 현재 구현 으로 달성 할 수 있습니다 .
>>> zip([1,2], [3,4], [5,6])
(1, 3, 5), (2, 4, 6)]
목록을 분할하고 개별 요소를에 전달하는 방법을 알 수 없습니다 zip. 기능적 솔루션이 선호됩니다.
답변:
이 시도:
>>> zip(*[[1,2], [3,4], [5,6]])
[(1, 3, 5), (2, 4, 6)]
인수 목록 풀기 참조 :
반대 상황은 인수가 이미 목록이나 튜플에 있지만 별도의 위치 인수가 필요한 함수 호출을 위해 압축을 풀어야 할 때 발생합니다. 예를 들어, 내장 range () 함수는 별도의 시작 및 중지 인수를 예상합니다. 별도로 사용할 수없는 경우 * 연산자를 사용하여 함수 호출을 작성하여 목록 또는 튜플에서 인수를 압축 해제합니다.
>>> range(3, 6) # normal call with separate arguments
[3, 4, 5]
>>> args = [3, 6]
>>> range(*args) # call with arguments unpacked from a list
[3, 4, 5]