Obrácení seznamu nebo pole je běžným programovacím úkolem. Existuje mnoho případů, kdy možná budete potřebovat prezentovat data v opačném pořadí, například při řazení seznamu.

Jak můžete obrátit seznam nebo pole pomocí Pythonu? V tomto článku se dozvíte různé přístupy.

Vytvořte kopii pomocí smyčky for

Zatímco Python je smyčka for je podrobnější, v některých případech se může hodit. Například poskytuje větší flexibilitu při provádění složité logiky v některých bodech zpětné operace.

Při použití odsazeného pro smyčka, běžný přístup je iterovat původní seznam v obráceném pořadí. Počínaje posledním prvkem, každá iterace pak připojí předchozí prvek k novému seznamu.

Vzhledem k tomu, že jako příklad je uveden seznam celých čísel mezi jednou a devíti, zde je návod, jak obrátit pole pomocí odsazeného pro smyčka:

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

# Vytvořte prázdný seznam pro uložení obráceného pole:
obrácený_seznam = []

# Odečtěte jednu od délky původního pole a začněte od posledního indexu:
reduktor = len (jazyky)-1

instagram viewer

# Obrátit seznam uvnitř smyčky for:
pro já v jazycích:
reversed_list.append (jazyky[reduktor]) # Přidejte výsledek do prázdného seznamu
reduktor -=1 # Snižte index o jednu při každé iteraci pomocí reduktoru

tisknout (obrácený_seznam)

Výstup:

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

Obrátit seznam nebo pole pomocí funkce List Comprehension

A porozumění seznamu vytváří kratší kód. A není potřeba dočasná proměnná, protože porozumění seznamu funguje na místě seznamu.

Chcete-li provést předchozí operaci pomocí porozumění seznamu:

redukce = len (jazyky)

# Snižte index v rámci funkce rozsahu pomocí cyklu for v porozumění seznamu
Obrácený_seznam = [languages[reduktor] pro redukci v rozsahu (reduktor -1,-1,-1)]
tisknout (Obrácený_seznam)

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

Použijte operátor Slice

Operátor segmentu seznamu je docela jednoduchý, i když má určitá omezení. Například nemusíte být schopni přizpůsobit výstup, jako když používáte a pro smyčka.

Zde je návod, jak obrátit seznam pomocí operátoru řezu:

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

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

The [::-1] syntaxe je chytrá zkratka, která vede k obrácenému seznamu. Ve skutečnosti to znamená „zkopírujte každý prvek seznamu, počínaje koncem a počítejte zpět“ – tedy „obrátit to“!

Použijte reverzní metodu pole

Toto je další metoda, která funguje na místě: upravuje původní pole. To může být nedostatek, protože předchozí seznam si nemůžete ponechat pro jiné operace.

Zde je návod, jak obrátit pole pomocí obrácené metody:

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

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

Použijte obrácenou funkci

Obrácená funkce iteruje seznam, pole nebo jakoukoli jinou sekvenci a vrátí svou obrácenou kopii. Musíte však explicitně deklarovat obrácený výstup jako seznam.

Funguje to takto:

jazyky = [1, 2, 3, 4, 5, 6, 7, 8, 9]
tisknout (seznam (obrácený (jazyky)))

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

Buďte kreativní s poli

Pole nebo seznamy jsou běžné způsoby ukládání dat. V závislosti na vašem cíli můžete chtít prezentovat data klientovi v opačném pořadí. Jedním ze způsobů, jak toho dosáhnout, je obrátit pole nebo seznam před jejich vykreslením. Jak jste viděli, existuje několik způsobů, jak invertovat seznam v Pythonu. Vyberte si, co vám nejlépe vyhovuje a co odpovídá vaší logice pro konkrétní problém.

Možná budete chtít vidět, jak obrátit pole v jiných programovacích jazycích, abyste lépe porozuměli logice pozadí.

Jak obrátit pole v C++, Pythonu a JavaScriptu

Přečtěte si další

PodíltweetPodílE-mailem

Související témata

  • Programování
  • Programování
  • Krajta
  • Algoritmy

O autorovi

Idowu Omisola (138 publikovaných článků)

Idowu je nadšený z jakékoli chytré technologie a produktivity. Ve volném čase si hraje s kódováním a když se nudí, přepne na šachovnici, ale také se rád jednou za čas odpoutá od rutiny. Jeho vášeň ukazovat lidem cestu kolem moderních technologií ho motivuje k dalšímu psaní.

Více od Idowu Omisola

Přihlaste se k odběru našeho newsletteru

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné e-knihy a exkluzivní nabídky!

Chcete-li se přihlásit k odběru, klikněte sem