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# 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ší
Související témata
- Programování
- Programování
- Krajta
- Algoritmy
O autorovi

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í.
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