Programování na Pythonu. Seznam v Pythonu: Základní operace

Seznamy Pythonu jsou objednané sbírky. Jsou důležitou součástí programového kódu. Seznamy se týkají vložených jazykových objektů. S jejich pomocí můžete rychle a efektivně zpracovat velké množství informačních a datových struktur libovolné složitosti.

Vlastnosti a funkce seznamu objektů

Seznamy jsou flexibilní a variabilní 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 platná čísla, slovníky. Každý seznam proměnných v Pythonu může být individuálně zpracován, smazán nebo nahrazen. Seznam obsahuje určitou sadu vlastností, která je odlišuje od jiných typů dat:
  • Jedná se o skupiny objektů s uspořádaným polohováním zleva doprava.
  • Seznamy poskytují přístup k posunu, tj. Číslo objektu.
  • Seznamy Pythonu mají heterogenitu. Sekvence může obsahovat objekty různých typů, včetně čísel, mapování, řádků, souborů.
  • Seznamy patří do kategorie variabilních objektů s neomezeným počtem hnízd.
  • Seznamy mohou být zaměněny za související datové struktury. Ve skutečnosti jsou však odkazy na předměty, nikoli jejich kopie. Jsou jako adresář. Všechny položky v seznamu ukazují na místo, kde se nachází požadovaný objekt. V tomto seznamu je Python podobný řadám jazyků jazyka C, ale je implementován v tlumočníku.

    Základní operace sekvencí

    Formálně existují tři jazykové kategorie. Tato čísla jsouzobrazení a sekvence, které obsahují seznam typů. Pro každou skupinu existuje obecný soubor operací. Například přidat, odečíst a množit číselné objekty nebo klíčový přístup k slovníkům.


    Sekvence mají také své charakteristické operace:
  • přístup k prvku pomocí celočíselných indexů __getitem __ ();
  • Určení délky __len __ ();
  • zřetězení pomocí operátora "+";
  • Vyjmutí řezu [:].
    Seznamy v akci
    Seznamy mají širší škálu funkcí než řetězce v Pythonu. Jedná se o výkonný vývojový nástroj s řadou specifických funkcí, které se vztahují pouze na seznam typů. Jak vypadá seznam metod v praxi:
  • můj seznam = [jeden, dva, tři] # vytvoření nového seznamu;
  • můj seznam;
  • ["jeden", "2", "tři"];
  • len (moje záznamy);
  • 3 # tlumočník vrátí délku;
  • můj seznam [+ 1, 2, 3] # zřetězení;
  • [jedna, dvě, tři, jedna, dvě, tři];
  • můj seznam * 2 # opakování;
  • [jedna, dvě, tři, jedna, dvě, tři].
  • [1, 2, 3] + 314 # TypeError: může pouze zřetězit seznam (ne " float ») do seznamu.Pro sestavení řetězce a seznamu v Pythonu musíte provést předchozí transformaci typu str:
  • second_list = seznam ("string") # konverze objektu "string";
  • druhý seznam;
  • ["c", "t", "p", "o", "k", "a"] #
  • second_list + my_list;
  • ["c", "t", "p", "o", "k", "a""Jeden", "2", "tři"].
  • Při vytváření seznamu v Pythonu musíte dodržovat přísná pravidla pro syntaxi. Každý objekt musí být přiložen do hranatých závorek a prvky jsou odděleny čárkami.
    Co je iterační a generátory seznamu?
    Iterace je opakovací proces. V kontextu seznamů je to postupný pokrok na prvcích iterovaného objektu. Například:
  • 3 v [1, 2, 3] # zkontroluje, zda je zadaná položka zahrnutá;
  • Pravda;
  • pro x v [1, 2, 3, 4]: # provedete iteraci;
  • tisk (x);
  • 1;
  • 2;
  • 3;
  • 4.
  • Pokud je iterace jednoduše obtokem každého prvku, pak generace je proces vytváření nového objektu typu seznamu. V Pythonu jsou generátory seznamu podobné smyčkám, ale pracují rychleji a vypadají mnohem snazší syntaxi:
  • List_1 = [c * 4 pro c v "SPAM"] # vypadá jako generace;
  • List_1;
  • ["SSSS", "PPPP", "AAAA", "MMMM");
  • ​​
  • Seznam_2 = [];
  • pro c v "SPAM": # podobný generačnímu příkazu;
  • List_2.append (c * 4) # seznam.append () přidává nové položky;
  • Seznam_2;
  • ["SSSS", "PPPP", "AAAA", "MMMM").
  • V obou příkladech je výsledek identický. Ale s využitím generátoru je kód mnohem kratší a jednodušší. Tento přístup je plně v souladu s Zenem Pythonu. Jedná se o zen, nebo kód jazyka, ve kterém jeden z bodů uvedl: "Je snadnější skládat snadněji."

    Výřez výřezu a přístup k indexům

    Tyto dvě operace jsou celkem podobné a umožňují zpracovat jednotlivé položky v seznamu v Pythonu. Ale je zde značný rozdíl. V důsledku indexace je vrácena samostatná část sekvence. Rozkroj řezu vytvoří nový objekt
  • Seznam1 [spam, spam, spam!]
  • List1
  • # offset countdown starts from scratchSPAM!
  • List1 [-2] # negativní posunutí: odvozeno vpravo
  • "Spam"
  • 65)
    Jak funguje extrakce řezu a jeho možnosti?
    Jazykové konstrukce umožňují nejen přijímat, ale také modifikovat jednotlivé prvky a dát jim nové významy. V důsledku toho vrací stejný seznam pouze z jiné proměnné. Tato operace je podobná přiřazení indexem v jazyce C. Interpret nahrazuje starý odkaz na nový zadaný objekt v posunu:
  • my_list = [jeden, osm, sto];
  • můj seznam [0: 2] = [devadesát osm, devadesát devět];
  • můj záznam;
  • ["devadesát osm", "devadesát devět", "sto"].
  • Jedná se o poměrně komplikovanou operaci, která se odehrává v několika fázích. Za prvé, tlumočník vymaže všechny prvky na levé straně 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. Číslo je smazáno a přidané položky se mohou lišit. Tato operace je vhodná pro odstraňování a nahrazování objektů, stejně jako pro rozšiřování seznamů. Jedná se o účinný způsob zpracování kódu. Ale programátoři zřídka používají to v praxi, preferují jednodušší pokyny vložte, pop a odstraňte.

    Specifické metody objektů seznamu typů

    Mostmetody nebo funkce zaměřené na přímou změnu objektu. Nejběžnější je .append (). Přidává položky na konec seznamu:
  • my_L = ["I", "láska", "program", "on"];
  • my_L;
  • ["I", "láska", "program", "on"];
  • my_L.append ("Python") # přidá prvek specifikovaný v závorkách;
  • my_L;
  • ["já", "láska", "program", "on", "Piton"].
  • Další, stejně populární metoda se nazývá sort (). Určeno pro třídění seznamů v Pythonu. Metoda provádí změnu prvků pomocí standardních porovnávacích operátorů. Může být také použit pro složitější úkoly s použitím pojmenovaných argumentů:
  • L = ["abc", "ABD", "aBe"];
  • Odrůda L. (klíč = str.lower, reverzní = True) # Změní směr řazení;
  • L;
  • ["aBe", "ABD", "abc"].
  • V příkladu byl syntaktický konstrukt "name = value" použit pro předání konfiguračních parametrů. Klíčový argument umožňuje určit vlastní parametry pro porovnání. V tomto případě jsou to prvky malého písmene. Zvrat znamená "naopak", tedy spíše v sestupném pořadí než v růstu.
    Metody podvodních kamenů
    Při práci s těmito metodami je třeba vzít v úvahu následující funkce: .sort () .append () upravuje seznam, ale nevrací jej. Design my list = List.sort () nemá význam a výsledek. Proto v posledních verzích jazyka vývojáři představili funkci sort (), která přebírá seznam jako argument:

  • můj seznam = [1, 100, 56, 34, 2, 99];
  • dubl_scripts = my_list.sort ();
  • dubl_spesk # tlumočník nevrátí nic;
  • můj záznam;
  • [1, 2,34, 56, 99, 100];
  • dubl_scripts = tříděné (mylisty);
  • dubl_scripts;
  • [1, 2, 34, 56, 99, 100] # tlumočník vrací tříděnou kopii objektu.
  • Další metody

    Python nabízí další metody pro zpracování specializovaných seznamů. Chcete-li například změnit pořadí následujících položek pomocí obráceně. Rozšířte a pop metody, chcete-li vložit více položek do konce nebo je odstranit. K dispozici je také obrácená funkce, která se podobá tříděnému, ale používá se prostřednictvím seznamu volání:
  • L;
  • [4, 3, 2, 1];
  • seznam (obrácený (L)) # integrovaná funkce třídění v opačném pořadí;
  • [1, 2, 3, 4].
  • Všechny považované transakce se nejčastěji používají pro seznamy a jsou základní. Existují však vysoce specializované metody. Například .copy (), který vytvoří povrchovou kopii objektu a .count (), který vrací počet položek. Chcete-li zobrazit všechny dostupné funkce Pythonu, které se vztahují k objektu seznamu, musíte zadat pomocník () nebo dir () v interpretovi.

    Související publikace