Att vända på en lista eller en array är en vanlig programmeringsuppgift. Det finns många fall då du kan behöva presentera data i omvänd ordning, till exempel när du sorterar en lista.

Hur kan du vända en lista eller en array med Python? Du kommer att lära dig de olika tillvägagångssätten i den här artikeln.

Skapa en kopia med en for-loop

Medan Python är för loop är mer omfattande kan det vara praktiskt i vissa fall. Till exempel ger det mer flexibilitet när du utför komplex logik vid vissa punkter i den omvända operationen.

När du använder en indragen för loop, är det vanliga tillvägagångssättet att iterera genom den ursprungliga listan i omvänd ordning. Börjar med det sista elementet, varje iteration lägger sedan till det föregående elementet till en ny lista.

Med en lista med heltal mellan ett och nio som ett exempel, så här vänder du en array med en indragen för slinga:

språk = [1, 2, 3, 4, 5, 6, 7, 8, 9]

# Skapa en tom lista för att hålla den omvända arrayen:
omvänd_lista = []

# Subtrahera en från längden på den ursprungliga arrayen för att börja från det sista indexet:

instagram viewer

reducerare = len (språk)-1

# Vänd listan inuti en for-loop:
för jag på språk:
reversed_list.append (språk[reducer]) # Lägg till resultatet i den tomma listan
reducerare -=1 # Minska indexet med ett vid varje iteration med hjälp av reduceraren

print (reversed_list)

Produktion:

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

Vänd om en lista eller en matris med hjälp av listförståelse

A listförståelse ger kortare kod. Och det finns inget behov av en temporär variabel eftersom listförståelse agerar på en lista på plats.

För att utföra föregående operation, med hjälp av en listförståelse:

reducerare = len (språk)

# Minska indexet inom en intervallfunktion med för loop i en listförståelse
Reversed_list = [språk[reducer] för reducering inom intervallet (reducer -1,-1,-1)]
skriv ut (Omvänd_lista)

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

Använd Slice Operator

Listsegmentoperatören är ganska enkel, även om den har vissa begränsningar. Till exempel kanske du inte kan anpassa utdata som när du använder en för slinga.

Så här vänder du en lista med segmentoperatorn:

språk = [1, 2, 3, 4, 5, 6, 7, 8, 9]
rev_list = språk[::-1]
print (rev_list)

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

De [::-1] syntax är en smart genväg som resulterar i en omvänd lista. Det betyder faktiskt "kopiera varje element i listan, börja från slutet och räkna bakåt" - dvs "vända om det"!

Använd en Arrays omvända metod

Detta är en annan metod som fungerar på plats: den modifierar den ursprungliga arrayen. Detta kan vara en brist eftersom du inte kan behålla den tidigare listan för andra operationer.

Så här vänder du en array med den omvända metoden:

språk = [1, 2, 3, 4, 5, 6, 7, 8, 9]
languages.reverse()
tryck (språk)

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

Använd den omvända funktionen

Den omvända funktionen itererar över en lista, array eller någon annan sekvens och returnerar sin omvända kopia. Du måste dock uttryckligen deklarera den omvända utmatningen som en lista.

Så här fungerar det:

språk = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print (lista (omvänd (språk)))

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

Bli kreativ med matriser

Matriser eller listor är vanliga sätt att lagra data. Beroende på ditt mål kanske du vill presentera data för klienten i omvänd ordning. Ett sätt att göra detta är att vända arrayen eller listan innan du renderar den. Som du har sett finns det ett par sätt att invertera en lista i Python. Välj det som fungerar bäst för dig och stämmer överens med din logik för ett specifikt problem.

Du kanske också vill se hur man vänder en array i andra programmeringsspråk för att förstå bakgrundslogiken bättre.

Hur man vänder en array i C++, Python och JavaScript

Läs Nästa

Dela med sigTweetDela med sigE-post

Relaterade ämnen

  • Programmering
  • Programmering
  • Pytonorm
  • Algoritmer

Om författaren

Idowu Omisola (138 artiklar publicerade)

Idowu brinner för allt smart teknik och produktivitet. På fritiden leker han med kodning och byter till schackbrädet när han har tråkigt, men han älskar också att bryta sig loss från rutinen då och då. Hans passion för att visa människor vägen runt modern teknik motiverar honom att skriva mer.

Mer från Idowu Omisola

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!

Klicka här för att prenumerera