"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como transpor uma matriz com eficiência em Python?

Como transpor uma matriz com eficiência em Python?

Publicado em 2024-11-08
Navegar:527

How to Transpose a Matrix Efficiently in Python?

Transpose Matrix Transpose em Python

A operação Transpose inverte as linhas e colunas de uma matriz. Compreender este conceito é crucial ao lidar com matrizes em programação. Em Python, você pode realizar transposições de matrizes usando vários métodos, cada um com abordagens e eficiência distintas.

Transpor usando Zip com Asterisk

zip(*) é uma maneira conveniente e método simples para transpor uma matriz. Combina os elementos de todas as linhas de uma matriz e os retorna como tuplas. Essas tuplas podem então ser convertidas em listas usando compreensão de lista ou mapa para obter uma transposição de matriz:

A = [[1, 2, 3], [4, 5, 6]]
transpose = [list(x) for x in zip(*A)]

Transpor usando compreensão de lista com Asterisk

Semelhante ao método anterior, compreensão de lista com asterisco pode ser usado para transpor uma matriz de forma concisa:

transpose = [[row[i] for row in A] for i in range(len(A[0]))]

Transpor usando NumPy

NumPy é uma biblioteca altamente otimizada para operações numéricas em Python. Ele oferece uma função transpose() conveniente que pode ser utilizada para transposições de matrizes:

import numpy as np
transpose = np.transpose(A)

Considerações de desempenho

Para matrizes pequenas, a complexidade de tempo desses métodos é relativamente insignificante. No entanto, à medida que o tamanho da matriz aumenta, o transpose() do NumPy prova ser significativamente mais rápido do que as outras abordagens devido à sua implementação altamente otimizada.

Declaração de lançamento Este artigo foi reimpresso em: 1729299736 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3