Obrátenie zoznamu alebo poľa je bežnou úlohou programovania. Existuje mnoho prípadov, keď možno budete musieť prezentovať údaje v opačnom poradí, napríklad pri triedení zoznamu.

Ako môžete zvrátiť zoznam alebo pole pomocou Pythonu? V tomto článku sa dozviete rôzne prístupy.

Vytvorte kópiu pomocou slučky for

Zatiaľ čo Python je cyklus for je podrobnejší, v niektorých prípadoch môže byť užitočný. Napríklad poskytuje väčšiu flexibilitu pri vykonávaní komplexnej logiky v niektorých bodoch spätnej operácie.

Pri použití odsadeného pre cykle, bežným prístupom je iterovať pôvodný zoznam v opačnom poradí. Počnúc posledným prvkom, každá iterácia potom pripojí predchádzajúci prvok k novému zoznamu.

Ako príklad uvádzame zoznam celých čísel od jednej do deviatich, tu je návod, ako obrátiť pole pomocou odsadeného pre slučka:

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

# Vytvorte prázdny zoznam, ktorý bude obsahovať obrátené pole:
obrátený_zoznam = []

# Odčítajte jeden od dĺžky pôvodného poľa, aby ste začali od posledného indexu:
redukcia = len (jazyky)-1

instagram viewer

# Obráťte zoznam vo vnútri cyklu for:
pre ja v jazykoch:
reversed_list.append (jazyky[reduktor]) # Pridajte výsledok do prázdneho zoznamu
redukcia -=1 # Znížte index o jeden pri každej iterácii pomocou reduktora

vytlačiť (obrátený_zoznam)

Výkon:

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

Obrátiť zoznam alebo pole pomocou porozumenia zoznamu

A porozumenie zoznamu vytvára kratší kód. A nie je potrebná žiadna dočasná premenná, pretože porozumenie zoznamu funguje na mieste v zozname.

Ak chcete vykonať predchádzajúcu operáciu pomocou pochopenia zoznamu:

redukcia = len (jazyky)

# Znížte index v rámci funkcie rozsahu pomocou cyklu for v porozumení zoznamu
Obrátený_zoznam = [languages[reduktor] pre redukciu v rozsahu (reduktor -1,-1,-1)]
vytlačiť (Obrátený_zoznam)

Výkon:
[9, 8, 7, 6, 5, 4, 3, 2, 1]

Použite operátor Slice

Operátor segmentu zoznamu je celkom jednoduchý, aj keď má určité obmedzenia. Napríklad možno nebudete môcť prispôsobiť výstup ako pri použití a pre slučka.

Tu je postup, ako obrátiť zoznam pomocou operátora výrezu:

jazyky = [1, 2, 3, 4, 5, 6, 7, 8, 9]
rev_list = jazyky[::-1]
vytlačiť (rev_list)

Výkon:
[9, 8, 7, 6, 5, 4, 3, 2, 1]

The [::-1] syntax je šikovná skratka, ktorej výsledkom je obrátený zoznam. V skutočnosti to znamená „skopírovať každý prvok zoznamu, počnúc od konca a počítať späť“ – t. j. „obrátiť to“!

Použite opačnú metódu poľa

Toto je ďalšia metóda, ktorá funguje na mieste: upravuje pôvodné pole. To môže byť nedostatok, pretože predchádzajúci zoznam nemôžete ponechať pre iné operácie.

Tu je postup, ako obrátiť pole pomocou reverznej metódy:

jazyky = [1, 2, 3, 4, 5, 6, 7, 8, 9]
languages.reverse()
tlačiť (jazyky)

Výkon:
[9, 8, 7, 6, 5, 4, 3, 2, 1]

Použite obrátenú funkciu

Obrátená funkcia iteruje cez zoznam, pole alebo akúkoľvek inú sekvenciu a vráti svoju obrátenú kópiu. Musíte však explicitne deklarovať obrátený výstup ako zoznam.

Funguje to takto:

jazyky = [1, 2, 3, 4, 5, 6, 7, 8, 9]
vytlačiť (zoznam (obrátený (jazyky)))

Výkon:
[9, 8, 7, 6, 5, 4, 3, 2, 1]

Buďte kreatívni s poliami

Polia alebo zoznamy sú bežné spôsoby ukladania údajov. V závislosti od vášho cieľa možno budete chcieť prezentovať údaje klientovi v opačnom poradí. Jedným zo spôsobov, ako to urobiť, je obrátiť pole alebo zoznam pred ich vykreslením. Ako ste videli, existuje niekoľko spôsobov, ako invertovať zoznam v Pythone. Vyberte si, čo vám najlepšie vyhovuje a čo zodpovedá vašej logike pre konkrétny problém.

Môžete tiež vidieť, ako obrátiť pole v iných programovacích jazykoch, aby ste lepšie pochopili logiku pozadia.

Ako obrátiť pole v C++, Pythone a JavaScripte

Prečítajte si ďalej

zdieľamTweetujtezdieľamEmail

Súvisiace témy

  • Programovanie
  • Programovanie
  • Python
  • Algoritmy

O autorovi

Idowu Omisola (138 publikovaných článkov)

Idowu je nadšený z akejkoľvek inteligentnej technológie a produktivity. Vo voľnom čase sa hrá s kódovaním a keď sa nudí, prepne na šachovnicu, no tiež sa rád raz za čas odtrhne od rutiny. Jeho vášeň ukázať ľuďom cestu okolo moderných technológií ho motivuje k ďalšiemu písaniu.

Viac od Idowu Omisola

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné e-knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber