V Pythonu jsou seznamy objednané sbírky. Jsou důležitou součástí programového kódu. Seznamy se týkají vestavěných jazykových objektů. S jejich pomocí můžete rychle a efektivně zpracovávat velké množství informačních a datových struktur libovolné složitosti.
Seznamy jsou flexibilní a měnitelné. typ dat. Mohou být libovolné délky a obsahovat neomezené množství informací. Jako prvky sekvence je povoleno používat řetězce, jednoduchá a reálná čísla, slovníky. Každá proměnná seznamu v Pythonu je samostatně zpracovatelná, odstraněna nebo nahrazena.
Seznamy mají specifickou sadu vlastností, která je odlišují od ostatních datových typů:
Seznamy lze zaměnit za související struktury dat. Ve skutečnosti jsou však kontejnery odkazů na objekty, nikoli jejich kopie. Jsou jako adresář. Všechny prvky seznamu ukazují na umístění požadovaného objektu. V tomto seznamu Python jsou podobné polím C, ale jsou implementovány v tlumočníku.
Formálně existují tři kategorie dat v jazyce. Jedná se o čísla, mapy a sekvence, ke kterým patří typ seznamu. Pro každou skupinu existuje společný soubor operací. Například přidání, odečítání a násobení číselných objektů nebo přístup na klíč k slovníkům.
Sekvence mají také své charakteristické operace:
Seznamy mají širší škálu možností než řetězce Pythonu. Jedná se o výkonný vývojový nástroj s řadou specifických funkcí platných pouze pro typový seznam.
Jak vypadají metody seznamu v praxi:
Při provádění zřetězení na každé straně znaménka "+" musí být nalezeny sekvence stejného typu, jinak se tlumočník zobrazí chybová zpráva:
Chcete-li přidat řetězec a seznam v Pythonu, musíte provést předběžnou konverzi pro typ str:
Při vytváření seznamu v Pythonu musíte dodržovat přísná pravidla syntaxe. Každý objekt musí být přiložen do hranatých závorek a položky jsou odděleny čárkami.
Iterace je proces opakování. V kontextu seznamů je to alternativní postup přes prvky iterovaného objektu. Například:
Pokud iterace je pouze průchodem každého prvku, pak generace je proces vytváření nového objektu typu seznamu. V Pythonu vypadají generátory seznamu jako smyčky, ale pracují rychleji a syntakticky vypadají mnohem jednodušší:
V obou příkladech je výsledek identický. Ale pomocí generátoru je kód mnohem kratší a jednodušší. Tento přístup je plně v souladu se Zenem Pythonu. Toto je Zen, nebo kód jazyka, ve kterém jeden z bodů zní: "Jednoduchý je lepší než komplikovaný"
Tyto dvě operace mají podobný vzhled a umožňují zpracovávat jednotlivé položky seznamu v Pythonu. Ale je zde značný rozdíl. V důsledku indexování se vrátí samostatná část sekvence. A extrahováním řezu vytvoří nový objekt seznamu:
Jazykové konstrukce umožňují nejen extrahovat, ale také měnit jednotlivé prvky a přiřazovat jim nové hodnoty. V důsledku toho se stejný seznam vrátí pouze s jinou proměnnou. Tato operace je podobná přiřazení na index v jazyce C. Interpret nahrazuje starý odkaz na objekt zadaný v offsetu novým:
Jedná se o poměrně komplikovanou operaci, která se objevuje v několika fázích. Nejprve interpret vymaže všechny prvky nalevo od operátora. V tomto příkladu je to "jeden" a "osm". Pak jsou všechny objekty vpravo od operátora vloženy do seznamu, začínající od levého okraje.
Popsaný proces poskytuje flexibilní práci s řezy. Počet prvků, které chcete odstranit a přidat, se může lišit. Tato operace je vhodná pro odstraňování a nahrazování objektů, stejně jako pro rozšiřování seznamů. To je docela silný způsob, jak zvládnout kód. Ale programátoři zřídka používají v praxi, preferují jednodušší vložení, pop a odstraňování instrukcí.
Většina metod nebo funkcí je zaměřena na přímou změnu objektu. Nejběžnější je .append (). Přidává položky na konec seznamu:
Další stejně populární metoda se nazývá sort (). Určeno pro třídění seznamů v Pythonu. Metoda přepíše prvky pomocí standardních porovnávacích operátorů. Může být také použit pro složitější úlohy pomocí pojmenovaných argumentů:
Příklad použil syntaxi "name = value" pro předání nastavení. Klíčový argument umožňuje nastavit vlastní parametry pro porovnání. V tomto případě jsou to prvky s malým písmem. Reverzní znamená "opak", tedy sestupně, nezvyšuje se.
Při práci s těmito metodami je třeba zvážit následující funkce: .sort () a .append () změnit seznam, ale nevrátí jej. Konstrukce my_list = List.sort () nemá žádný význam ani výsledek. Proto v posledních verzích jazyka vývojáři zavedli funkci sort (), která má jako argument argument:
Python poskytuje další metody pro zpracování specializovaného seznamu. Například obráceně se používá pro změnu pořadí prvků. Chcete-li vložit více prvků na konci nebo odstranit, potřebujete rozšířit a pop metody. K dispozici je také obrácená funkce, která se podobá tříděnému, ale používá se prostřednictvím volání seznamu:
Všechny považované operace jsou nejčastěji používané na seznamy a jsou základní. Existují však vysoce specializované metody. Například .copy (), který vytváří plytké kopie objektu a .count (), který vrací počet prvků. Chcete-li zobrazit celý seznam funkcí dostupných v Pythonu, které jsou použitelné na objekt seznamu, musíte zadat pomocníka () nebo dir () do interpretace.