목록 목록 바꾸기
주어진 목록 목록의 목표는 행과 열을 반대로 바꾸어 목록을 바꾸는 것입니다. 예를 들어 입력의 경우
l = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
원하는 출력은 다음과 같습니다.
r = [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
Python 3 솔루션:
list(map(list, zip(*l)))
이 솔루션은 zip을 사용하여 목록의 열을 반복하고 map을 사용하여 각 열을 목록으로 변환합니다.
list(map(list, itertools.zip_longest(*l, fillvalue=None)))
이 솔루션은 zip과 유사하게 작동하지만 목록이 들쭉날쭉할 때 누락된 값을 채우는 fillvalue 매개변수를 포함하는 itertools.zip_longest를 사용합니다.
파이썬 2 해결책:
map(list, zip(*l))
설명:
zip 함수는 튜플의 반복자를 생성합니다. 여기서 각 튜플은 입력 목록의 열을 나타냅니다. *l을 사용하여 인수 목록을 풀면 zip이 각 열을 병렬로 반복합니다. 그런 다음 map 함수는 각 튜플을 목록으로 변환하여 원하는 전치 목록을 생성합니다.
참고: Python 2의 zip에는 fillvalue 매개변수가 없으므로 목록이 다음과 같은 경우 데이터를 삭제합니다. 들쭉날쭉.
위 내용은 Python에서 목록 목록을 바꾸는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!