> 백엔드 개발 > 파이썬 튜토리얼 > Python에서 목록 목록을 바꾸는 방법은 무엇입니까?

Python에서 목록 목록을 바꾸는 방법은 무엇입니까?

DDD
풀어 주다: 2024-12-20 02:45:10
원래의
743명이 탐색했습니다.

How to Transpose a List of Lists in Python?

목록 목록 바꾸기

주어진 목록 목록의 목표는 행과 열을 반대로 바꾸어 목록을 바꾸는 것입니다. 예를 들어 입력의 경우

l = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
로그인 후 복사

원하는 출력은 다음과 같습니다.

r = [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
로그인 후 복사

Python 3 솔루션:

  • zip 및 map:
list(map(list, zip(*l)))
로그인 후 복사

이 솔루션은 zip을 사용하여 목록의 열을 반복하고 map을 사용하여 각 열을 목록으로 변환합니다.

  • zip_longest를 사용하여 itertools:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿