L'inversione di un elenco o di un array è un'attività di programmazione comune. In molti casi potrebbe essere necessario presentare i dati in ordine inverso, ad esempio quando si ordina un elenco.

Come puoi invertire un elenco o un array con Python? Imparerai i diversi approcci in questo articolo.

Crea una copia con un ciclo for

Mentre Ciclo for di Python è più dettagliato, potrebbe essere utile in alcuni casi. Ad esempio, fornisce maggiore flessibilità quando si esegue una logica complessa in alcuni punti dell'operazione inversa.

Quando si utilizza un indentato per loop, l'approccio comune consiste nell'iterare l'elenco originale in ordine inverso. A partire dall'elemento finale, ogni iterazione aggiunge l'elemento precedente a un nuovo elenco.

Dato un elenco di numeri interi compresi tra uno e nove come esempio, ecco come invertire un array usando un indentato per ciclo continuo:

lingue = [1, 2, 3, 4, 5, 6, 7, 8, 9]

# Crea un elenco vuoto per contenere l'array invertito:
lista_invertita = []

instagram viewer

# Sottrarre uno dalla lunghezza dell'array originale per iniziare dall'ultimo indice:
riduttore = len (lingue)-1

# Invertire l'elenco all'interno di un ciclo for:
per i nelle lingue:
reversed_list.append (lingue[riduttore]) # Aggiunge il risultato all'elenco vuoto
riduttore -=1 # Diminuire l'indice di uno ad ogni iterazione usando il riduttore

stampa (lista_invertita)

Produzione:

[9, 8, 7, 6, 5, 4, 3, 2, 1]

Invertire un elenco o un array utilizzando la comprensione dell'elenco

UN comprensione dell'elenco produce un codice più breve. E non c'è bisogno di una variabile temporanea perché la comprensione dell'elenco agisce su un elenco in atto.

Per eseguire l'operazione precedente, utilizzando una comprensione di liste:

riduttore = len (lingue)

# Decrementa l'indice all'interno di una funzione di intervallo usando il ciclo for nella comprensione di un elenco
Reversed_list = [lingue[riduttore] per riduttore nell'intervallo (riduttore -1,-1,-1)]
stampa (lista_reverse)

Produzione:
[9, 8, 7, 6, 5, 4, 3, 2, 1]

Usa l'operatore Slice

L'operatore della sezione dell'elenco è piuttosto semplice, sebbene abbia alcune limitazioni. Ad esempio, potresti non essere in grado di personalizzare l'output come faresti usando a per ciclo continuo.

Ecco come invertire un elenco utilizzando l'operatore slice:

lingue = [1, 2, 3, 4, 5, 6, 7, 8, 9]
rev_list = lingue[::-1]
stampa (rev_list)

Produzione:
[9, 8, 7, 6, 5, 4, 3, 2, 1]

Il [::-1] la sintassi è una scorciatoia intelligente che si traduce in un elenco invertito. In realtà significa "copia ogni elemento dell'elenco, partendo dalla fine e contando all'indietro" - cioè "invertilo"!

Utilizzare il metodo inverso di un array

Questo è un altro metodo che agisce sul posto: modifica l'array originale. Questo può essere un difetto poiché non puoi mantenere l'elenco precedente per altre operazioni.

Ecco come invertire un array usando il metodo reverse:

lingue = [1, 2, 3, 4, 5, 6, 7, 8, 9]
lingue.reverse()
stampa (lingue)

Produzione:
[9, 8, 7, 6, 5, 4, 3, 2, 1]

Utilizzare la funzione invertita

La funzione invertita esegue l'iterazione su un elenco, una matrice o qualsiasi altra sequenza e restituisce la sua copia invertita. Tuttavia, è necessario dichiarare in modo esplicito l'output invertito come elenco.

Ecco come funziona:

lingue = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print (lista (reverse (lingue)))

Produzione:
[9, 8, 7, 6, 5, 4, 3, 2, 1]

Diventare creativi con gli array

Matrici o elenchi sono metodi comuni per archiviare i dati. A seconda del tuo obiettivo, potresti voler presentare i dati al client in ordine inverso. Un modo per farlo è invertire l'array o l'elenco prima di eseguirne il rendering. Come hai visto, ci sono un paio di modi per invertire un elenco in Python. Scegli ciò che funziona meglio per te e si allinea alla tua logica per un problema specifico.

Potresti anche voler vedere come invertire un array in altri linguaggi di programmazione per comprendere meglio la logica di sfondo.

Come invertire un array in C++, Python e JavaScript

Leggi Avanti

CondividereTwittaCondividereE-mail

Argomenti correlati

  • Programmazione
  • Programmazione
  • Pitone
  • Algoritmi

Circa l'autore

Idowu Omisola (138 articoli pubblicati)

Idowu è appassionato di qualsiasi tecnologia e produttività intelligenti. Nel tempo libero, gioca con la programmazione e passa alla scacchiera quando è annoiato, ma ama anche staccare dalla routine di tanto in tanto. La sua passione per mostrare alle persone la via della tecnologia moderna lo motiva a scrivere di più.

Altro da Idowu Omisola

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti