Reverter uma lista ou uma matriz é uma tarefa de programação comum. Há muitos casos em que você pode precisar apresentar dados em ordem inversa, como ao classificar uma lista.
Como você pode reverter uma lista ou uma matriz com o Python? Você aprenderá as diferentes abordagens neste artigo.
Criar uma cópia com um loop for
Enquanto loop for do Python é mais detalhado, pode ser útil em alguns casos. Por exemplo, fornece mais flexibilidade ao executar lógica complexa em alguns pontos da operação reversa.
Ao usar um recuo por loop, a abordagem comum é percorrer a lista original na ordem inversa. Começando com o elemento final, cada iteração anexa o elemento anterior a uma nova lista.
Dada uma lista de inteiros entre um e nove como exemplo, veja como reverter uma matriz usando um recuo por ciclo:
idiomas = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# Crie uma lista vazia para armazenar o array invertido:
lista_revertida = []# Subtrai um do comprimento do array original para começar do último índice:
redutor = len (idiomas)-1# Inverte a lista dentro de um loop for:
para i em idiomas:
reversed_list.append (idiomas[redutor]) # Anexa o resultado à lista vazia
redutor -=1 # Diminui o índice em um a cada iteração usando o redutor
imprimir (lista_invertida)
Saída:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Inverter uma lista ou uma matriz usando a compreensão de lista
UMA compreensão da lista produz código mais curto. E não há necessidade de uma variável temporária porque a compreensão da lista atua em uma lista no local.
Para realizar a operação anterior, usando uma compreensão de lista:
redutor = len (idiomas)
# Decrementa o índice dentro de uma função de intervalo usando o loop for em uma compreensão de lista
Reversed_list = [idiomas[redutor] para redutor no intervalo (redutor -1,-1,-1)]
imprimir (lista_invertida)
Saída:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Use o Operador de Fatia
O operador de fatia de lista é bastante simples, embora tenha algumas limitações. Por exemplo, talvez você não consiga personalizar a saída como faria ao usar um por ciclo.
Veja como reverter uma lista usando o operador slice:
idiomas = [1, 2, 3, 4, 5, 6, 7, 8, 9]
rev_list = idiomas[::-1]
imprimir (lista_rev)
Saída:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
o [::-1] sintaxe é um atalho inteligente que resulta em uma lista invertida. Na verdade, significa "copiar todos os elementos da lista, começando do final e contando para trás" - ou seja, "inverta"!
Use o método reverso de um array
Este é outro método que atua no local: ele modifica o array original. Isso pode ser uma falha, pois você não pode manter a lista anterior para outras operações.
Veja como reverter um array usando o método reverse:
idiomas = [1, 2, 3, 4, 5, 6, 7, 8, 9]
idiomas.reverso()
imprimir (idiomas)
Saída:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Use a função invertida
A função invertida itera sobre uma lista, matriz ou qualquer outra sequência e retorna sua cópia invertida. No entanto, você precisa declarar explicitamente a saída invertida como uma lista.
É assim que funciona:
idiomas = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print (lista (invertida (idiomas)))
Saída:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Como ser criativo com arrays
Matrizes ou listas são formas comuns de armazenar dados. Dependendo do seu objetivo, você pode querer apresentar os dados ao cliente na ordem inversa. Uma maneira de fazer isso é reverter a matriz ou lista antes de renderizá-la. Como você viu, existem algumas maneiras de inverter uma lista em Python. Escolha o que funciona melhor para você e se alinha com sua lógica para um problema específico.
Você também pode querer ver como reverter uma matriz em outras linguagens de programação para entender melhor a lógica de fundo.
Como reverter uma matriz em C++, Python e JavaScript
Leia a seguir
Tópicos relacionados
- Programação
- Programação
- Pitão
- Algoritmos
Sobre o autor
Idowu é apaixonado por qualquer tecnologia inteligente e produtividade. Em seu tempo livre, ele brinca com a codificação e muda para o tabuleiro de xadrez quando está entediado, mas também adora fugir da rotina de vez em quando. Sua paixão por mostrar às pessoas o caminho da tecnologia moderna o motiva a escrever mais.
Assine a nossa newsletter
Junte-se à nossa newsletter para dicas de tecnologia, análises, e-books gratuitos e ofertas exclusivas!
Clique aqui para assinar