programing

개별 목록으로 튜플 목록을 압축 해제하려면 어떻게 해야 합니까?

randomtip 2023. 1. 25. 08:43
반응형

개별 목록으로 튜플 목록을 압축 해제하려면 어떻게 해야 합니까?

중복 가능성:
Python의 Transpose/Unzip 함수

이 목록을 두 개의 독립된 목록으로 압축 해제할 수 있는 튜플 목록이 있습니다.Python에서 표준화된 작업을 찾고 있습니다.

>>> l = [(1,2), (3,4), (8,9)]
>>> f_xxx (l)
[ [1, 3, 8], [2, 4, 9] ] 

나는 이것을 성취하기 위한 간결하고 순결한 방법을 찾고 있다.

기본적으로, 저는 함수의 역연산을 찾고 있습니다.

사용하다zip(*list):

>>> l = [(1,2), (3,4), (8,9)]
>>> list(zip(*l))
[(1, 3, 8), (2, 4, 9)]

함수는 첫 번째 값부터 시작하여 두 번째 값까지 모든 입력의 요소를 쌍으로 구성합니다.사용방법*l의 모든 튜플을 함수에 개별 인수적용하므로zip()짝을 이루다1와 함께3와 함께8먼저, 그러면2와 함께4그리고.9그것들은 우연히 열이나 전위와 잘 일치한다.l.

zip()tuples를 생성합니다.변환 가능한 리스트개체가 필요한 경우map()목록에 대한 튜플 또는 목록 이해를 사용하여 목록 목록을 생성합니다.

map(list, zip(*l))          # keep it a generator
[list(t) for t in zip(*l)]  # consume the zip generator into a list of lists

목록 목록을 원하는 경우:

>>> [list(t) for t in zip(*l)]
[[1, 3, 8], [2, 4, 9]]

튜플 목록이 정상인 경우:

>>> zip(*l)
[(1, 3, 8), (2, 4, 9)]

언급URL : https://stackoverflow.com/questions/12974474/how-to-unzip-a-list-of-tuples-into-individual-lists

반응형