Obrnuti popis ili niz uobičajen je programski zadatak. Postoji mnogo slučajeva kada ćete možda trebati podatke prikazati obrnutim redoslijedom, kao što je kod razvrstavanja popisa.

Kako možete obrnuti popis ili niz s Pythonom? Naučit ćete različite pristupe u ovom članku.

Izradite kopiju s for petljom

Dok Python je for petlja je opširniji, u nekim slučajevima može biti zgodno. Na primjer, pruža veću fleksibilnost pri izvođenju složene logike u nekim točkama obrnute operacije.

Kada koristite uvučenu za petlju, uobičajen pristup je ponavljanje kroz izvorni popis obrnutim redoslijedom. Počevši od završnog elementa, svaka iteracija zatim dodaje prethodni element na novi popis.

S obzirom na popis cijelih brojeva između jedan i devet kao primjer, evo kako preokrenuti niz pomoću uvučenog za petlja:

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

# Napravite prazan popis za držanje obrnutog niza:
reversed_list = []

# Oduzmite jedan od duljine originalnog niza da počnete od posljednjeg indeksa:
reduktor = len (jezici)-1

# Okrenite popis unutar for petlje:
za ja na jezicima:
reversed_list.append (jezici[reducer]) # Dodajte rezultat na prazan popis
reduktor -=1 # Smanji indeks za jedan na svakoj iteraciji koristeći reduktor

ispis (obrnuti_list)

Izlaz:

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

Obrnite popis ili niz pomoću razumijevanja popisa

A razumijevanje popisa proizvodi kraći kod. I nema potrebe za privremenom varijablom jer razumijevanje popisa djeluje na popis koji je na mjestu.

Za izvođenje prethodne operacije pomoću razumijevanja popisa:

reduktor = len (jezici)

# Smanjite indeks unutar funkcije raspona koristeći for petlju u razumijevanju popisa
Reversed_list = [jezici[reducer] za reduktor u rasponu (reducer -1,-1,-1)]
ispis (Reversed_list)

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

Koristite Slice Operator

Operator isječaka popisa prilično je jednostavan, iako ima neka ograničenja. Na primjer, možda nećete moći prilagoditi izlaz kao kada koristite a za petlja.

Evo kako preokrenuti popis pomoću operatora slice:

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

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

The [::-1] sintaksa je pametan prečac koji rezultira obrnutim popisom. To zapravo znači "kopirajte svaki element popisa, počevši od kraja i brojeći unatrag" - tj. "preokrenite ga"!

Koristite obrnutu metodu niza

Ovo je još jedna metoda koja djeluje na mjestu: mijenja izvorni niz. To može biti nedostatak jer ne možete zadržati prethodni popis za druge operacije.

Evo kako preokrenuti niz koristeći obrnutu metodu:

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

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

Koristite obrnutu funkciju

Obrnuta funkcija ponavlja popis, niz ili bilo koji drugi niz i vraća njegovu obrnutu kopiju. Međutim, morate eksplicitno deklarirati obrnuti izlaz kao popis.

Ovako radi:

jezici = [1, 2, 3, 4, 5, 6, 7, 8, 9]
ispis (popis (obrnuti (jezici)))

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

Kreativnost s nizovima

Nizovi ili popisi uobičajeni su načini pohranjivanja podataka. Ovisno o vašem cilju, možda biste željeli prezentirati podatke klijentu obrnutim redoslijedom. Jedan od načina da to učinite je da obrnete niz ili popis prije nego što ga renderirate. Kao što ste vidjeli, postoji nekoliko načina za invertiranje popisa u Pythonu. Odaberite ono što vam najbolje odgovara i što je u skladu s vašom logikom za određeni problem.

Možda biste željeli vidjeti i kako preokrenuti niz u drugim programskim jezicima kako biste bolje razumjeli pozadinsku logiku.

Kako preokrenuti niz u C++, Python i JavaScript

Pročitajte dalje

UdioCvrkutUdioE-mail

Povezane teme

  • Programiranje
  • Programiranje
  • Piton
  • Algoritmi

O autoru

Idowu Omisola (Objavljeno 138 članaka)

Idowu je strastven za sve pametne tehnologije i produktivnost. U slobodno vrijeme igra se s kodiranjem i prelazi na šahovsku ploču kad mu je dosadno, ali voli se s vremena na vrijeme otrgnuti od rutine. Njegova strast da ljudima pokaže put oko moderne tehnologije motivira ga da piše više.

Više od Idowua Omisole

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu