Inversarea unei liste sau a unei matrice este o sarcină comună de programare. Există multe cazuri în care ar putea fi necesar să prezentați datele în ordine inversă, cum ar fi atunci când sortați o listă.

Cum poți inversa o listă sau o matrice cu Python? Veți afla diferitele abordări în acest articol.

Creați o copie cu o buclă for

In timp ce Python este bucla pentru este mai detaliat, poate fi la îndemână în unele cazuri. De exemplu, oferă mai multă flexibilitate atunci când se efectuează o logică complexă în anumite puncte ale operației inverse.

Când utilizați o indentație pentru buclă, abordarea obișnuită este să iterați lista originală în ordine inversă. Începând cu elementul final, fiecare iterație adaugă apoi elementul anterior la o nouă listă.

Având în vedere o listă de numere întregi între unu și nouă ca exemplu, iată cum să inversați o matrice folosind o indentație pentru buclă:

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

# Creați o listă goală pentru a păstra matricea inversată:
lista_inversată = []

instagram viewer

# Scădeți unul din lungimea matricei originale pentru a începe de la ultimul index:
reductor = len (limbi)-1

# Inversați lista în interiorul unei bucle for:
pentru eu in limbi:
lista_inversată.append (limbi[reductor]) # Adăugați rezultatul la lista goală
reductor -=1 # Scădeți indicele cu unul la fiecare iterație folosind reductorul

imprimare (listă_inversată)

Ieșire:

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

Inversați o listă sau o matrice utilizând Lista de înțelegere

A înțelegerea listei produce un cod mai scurt. Și nu este nevoie de o variabilă temporară, deoarece înțelegerea listei acționează pe o listă în loc.

Pentru a efectua operația anterioară, folosind o listă de înțelegere:

reductor = len (limbi)

# Decrementați indexul într-o funcție de interval folosind bucla for într-o înțelegere a listei
Lista_inversată = [limbi[reductor] pentru reductorul în interval (reductor -1,-1,-1)]
imprimare (listă_inversată)

Ieșire:
[9, 8, 7, 6, 5, 4, 3, 2, 1]

Utilizați operatorul Slice

Operatorul de felie de listă este destul de simplu, deși are unele limitări. De exemplu, este posibil să nu puteți personaliza rezultatul așa cum ați proceda atunci când utilizați un pentru buclă.

Iată cum să inversați o listă folosind operatorul slice:

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

Ieșire:
[9, 8, 7, 6, 5, 4, 3, 2, 1]

The [::-1] sintaxa este o comandă rapidă inteligentă care are ca rezultat o listă inversată. De fapt înseamnă „copiați fiecare element al listei, începând de la sfârșit și numărând înapoi” – adică „întoarceți-l”!

Utilizați metoda inversă a unui Array

Aceasta este o altă metodă care acționează în loc: modifică matricea originală. Acest lucru poate fi un neajuns, deoarece nu puteți păstra lista anterioară pentru alte operațiuni.

Iată cum să inversați o matrice folosind metoda inversă:

limbi = [1, 2, 3, 4, 5, 6, 7, 8, 9]
languages.reverse()
imprimare (limbi)

Ieșire:
[9, 8, 7, 6, 5, 4, 3, 2, 1]

Utilizați funcția inversată

Funcția inversată iterează peste o listă, o matrice sau orice altă secvență și returnează copia sa inversată. Cu toate acestea, trebuie să declarați în mod explicit rezultatul inversat ca o listă.

Asa functioneaza:

limbi = [1, 2, 3, 4, 5, 6, 7, 8, 9]
imprimare (lista (inversată (limbi)))

Ieșire:
[9, 8, 7, 6, 5, 4, 3, 2, 1]

Deveniți creativ cu matrice

Matricele sau listele sunt modalități comune de stocare a datelor. În funcție de obiectivul dvs., este posibil să doriți să prezentați date clientului în ordine inversă. O modalitate de a face acest lucru este să inversați matricea sau lista înainte de a o randa. După cum ați văzut, există câteva moduri de a inversa o listă în Python. Alegeți ceea ce funcționează cel mai bine pentru dvs. și se aliniază cu logica dvs. pentru o anumită problemă.

Ați putea dori, de asemenea, să vedeți cum să inversați o matrice în alte limbaje de programare pentru a înțelege mai bine logica de fundal.

Cum să inversați o matrice în C++, Python și JavaScript

Citiți în continuare

AcțiuneTweetAcțiuneE-mail

Subiecte asemănătoare

  • Programare
  • Programare
  • Piton
  • Algoritmi

Despre autor

Idowu Omisola (138 articole publicate)

Idowu este pasionat de orice tehnologie inteligentă și productivitate. În timpul liber, se joacă cu codificarea și trece la tabla de șah când se plictisește, dar îi place și să se desprindă de rutină din când în când. Pasiunea lui pentru a le arăta oamenilor calea în jurul tehnologiei moderne îl motivează să scrie mai mult.

Mai multe de la Idowu Omisola

Aboneaza-te la newsletter-ul nostru

Alăturați-vă buletinului nostru informativ pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Click aici pentru a te abona