>  기사  >  백엔드 개발  >  Zip 및 * 연산자를 사용하여 Python에서 행렬을 전치하는 방법은 무엇입니까?

Zip 및 * 연산자를 사용하여 Python에서 행렬을 전치하는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-19 09:02:30675검색

How to Transpose a Matrix in Python Using Zip and the * Operator?

Python에서 행렬 전치

행렬을 전치하려면 행과 열을 전환해야 하며, 결과적으로 j번째 요소가 있는 새로운 행렬이 생성됩니다. i번째 행은 j번째 행의 i번째 요소가 됩니다. 예를 들어, 다음 2x3 행렬을 전치하면

A=[[1, 2, 3],
   [4, 5, 6]]

전치된 행렬이 생성됩니다.

[[1, 4],
[2, 5],
[3, 6]]

*

와 함께 Zip 사용 Python에서 행렬을 전치하는 방법은 * 연산자와 함께 zip() 함수를 활용하는 것입니다.

<code class="python">def transpose(matrix):
  return zip(*matrix)</code>

이 접근 방식은 입력 행렬의 열을 반복하고 전치된 행렬의 행을 나타내는 튜플을 생성합니다. 행렬. 목록 목록을 출력으로 원하는 경우 다음을 사용할 수 있습니다.

<code class="python">def transpose(matrix):
  return [list(x) for x in zip(*matrix)]</code>

또는 목록 생성자와 함께 map() 함수를 적용할 수 있습니다.

<code class="python">def transpose(matrix):
  return map(list, zip(*matrix))</code>

이러한 방법은 입력 행렬의 인덱스를 효과적으로 전환하여 원하는 기준을 충족하는 전치 행렬을 생성합니다.

위 내용은 Zip 및 * 연산자를 사용하여 Python에서 행렬을 전치하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.