Zoznamy ( zoznam ) v Pythone. Zoznam funkcií a metód

V programovaní sú zoznamy možno rovnako užitočné ako dátové štruktúry ako polia. Čo sú zoznamy, ako ich vytvoriť? Ako pracovať so zoznamami v Pythone? O tom sa dozviete z nášho článku.

Čo sú zoznamy v Pythone?

Zoznamy ( zoznam ) v Pythone. Zoznam funkcií a metód
Typy údajov Pythonu: Zoznamy

Zoznamy možno čiastočne identifikovať pomocou polí, ale rozdiel a výhoda výpisov (inak sa nazývajú aj výpisy) je v tom, že môžu kombinovať rôzne dátové typy. To znamená, že výpis otvára viac možností na uloženie ľubovoľnej postupnosti objektov. Premenná, nazývaná zoznam, obsahuje odkaz na štruktúru v pamäti, ktorá obsahuje odkazy na alternatívne štruktúry.

Zoznam v Pythone je usporiadaná kolekcia objektov zmiešaných typov, ktoré možno upravovať a ktorých objekty sa môžu líšiť.

Čo to znamená? Pozrime sa na definíciu podrobne.

Veľkosť výpisu je možné meniť, zmenšovať, pridávať do neho nové riadky. Môžete tiež zmeniť celú štruktúru zoznamu. Majte na pamäti, že pri každom použití metódy v zozname sa zmení pôvodný zoznam, nie kópia.

Pre väčšiu prehľadnosť si môžete zoznam v Pythone predstaviť ako zoznam produktov, ktoré je potrebné kúpiť v obchode. Ak sú pri vytváraní nákupného plánu všetky potrebné položky umiestnené pod sebou a každá z nich má svoj vlastný riadok, potom výpis v Pythone obsahuje všetky prvky oddelené čiarkami a v hranatých zátvorkách, aby Python pochopil, že tu je uvedený zoznam. Prvky sú uvedené v úvodzovkách. Toto je povinná podmienka, pretože každý prvok je samostatný riadok.

Spôsoby vytvorenia zoznamu

Prejdime ku klasickému príkladu, vytvorme zoznam, ktorý budeme používať a upravovať v budúcnosti. Existuje niekoľko spôsobov, ako vytvoriť zoznamy.

Jednou z nich je aplikácia vstavaný zoznam funkcií ( ). Aby ste to dosiahli, musíte spracovať akýkoľvek objekt, ktorý je možné iterovať (reťazec, n-tica alebo existujúci zoznam). V tomto prípade reťazec.

Na konci sa stane toto:

>>> zoznam('zoznam') ['c', 'n', 'i', 'c', 'o', 'to']

Druhý príklad ukazuje, že zoznamy môžu obsahovať neobmedzený počet veľmi odlišných objektov. Okrem toho môže zoznam zostať prázdny.

>>> s = [] # Prázdny zoznam >>> l = ['s', 'p', ['isok'], 2] >>> s [] >>> l ['s', 'p' , ['isok'], 2]

Ďalším, tretím, spôsobom tvorby výpisov je tzv generátor výpisov.

Generátor výpisov je syntaktická konštrukcia na vytváranie výpisov. Je to podobné ako v slučke for.

>>> c = [c * 3 pre c v 'zozname'] >>> c ['lll', 'iii', 'sss', 'tttt']

Môže sa použiť aj na vytvorenie objemnejších štruktúr:

>>> c = [c * 3 pre c v 'zozname', ak c != 'i'] >>> c ['lll', 'sss', 'ttt'] >>> c = [c + d pre c v 'zoznam', ak c != 'i' pre d v 'spam', ak d != 'a'] >>> c ['ls', 'lp', 'lm', 'ss', 'sp' , 'sm', 'ts', 'tp', 'tm']

Tento spôsob generovania však nie je vždy efektívny pri zostavovaní viacerých záznamov. Preto je vhodné použiť na generovanie výpisov cyklus for.

Ak potrebujete odkazovať na akýkoľvek prvok zo zoznamu, použijú sa indexy. Každý prvok má svoj vlastný index.

Index je číslo prvku v zozname.

Ak chcete naplniť výpis opakujúcimi sa rovnakými prvkami, použije sa symbol *. Napríklad do záznamu musíte pridať tri rovnaké čísla: [100] * 3.

Výpis funkcií

funkcie – to je možno hlavná výhoda Pythonu oproti iným programovacím jazykom. Na zoznamy možno použiť základné vstavané funkcie.

Zvážte najobľúbenejšie z nich:

  • zoznam(rozsah()) – ak je úlohou vytvoriť sekvenčný zoznam, použije sa funkcia rozsahu. Táto funkcia má nasledujúce formy:
  1. rozsah (koniec). Používa sa, keď je potrebné vytvoriť výpis od nuly po konečné číslo.
  2. rozsah (začiatok, koniec). Začiatočné aj koncové čísla sú špecifikované.
  3. rozsah (začiatok, koniec, krok). Parameter kroku špecifikuje charakteristiku výberu. Napríklad, ak potrebujete vybrať každé piate číslo zo sekvencie od 1 do 21, výsledný výpis bude vyzerať takto: [10,15, 20].

Funkcia rozsahu môže výrazne znížiť množstvo kódu.

  • ľan (zoznam) – umožňuje zistiť, koľko prvkov je v zozname.
  • zoradené (zoznam, [kľúč]) – triedi objekty v zozname vo vzostupnom poradí.
  • max (zoznam) – vráti najväčší prvok.
  • min (zoznam) – opačná funkcia – umožňuje vrátiť prvok s minimálnou hodnotou.

Môžete tiež použiť ďalšie vstavané funkcie:

  • zoznam (nica) – Konvertuje objekt n-tice na zoznam.
  • suma (zoznam) – spočíta všetky prvky v zozname, ak sú všetky hodnoty čísla, platí pre celé čísla aj desatinné miesta. Nie vždy sa jej to však podarí. Ak je v zozname nečíselný prvok, funkcia vyvolá chybu: „TypeError: nepodporované typy operandov pre +: 'int' a 'str'“.

Metódy výpisu

Zoznamy ( zoznam ) v Pythone. Zoznam funkcií a metód
Zoznam metód Pythonu

Vráťme sa k nášmu zoznamu položiek na nákup v obchode a nazvime to shoplist:

zoznam obchodov = []

Ďalej zvážte spôsoby výpisu:

  • pripojiť (položka) – s jeho pomocou môžete pridať prvok do zoznamu. V tomto prípade bude nový prvok na konci.

Naplňte náš nový zoznam správnymi produktmi:

shoplist.append(chlieb)

shoplist.append(mlieko)

  • Zoznam.predĺžiť (A) – pridá „zoznam do zoznamu“. Táto funkcia šetrí čas, pretože môžete pridať viacero položiek naraz. Povedzme, že už máme zoznam ovocia, musíme ho pridať do hlavného zoznamu.

shoplist.extend(ovocie)

  • vložiť (index, položka) – vloží do prvku so zadaným indexom zadanú hodnotu pred zadaný index.
  • lcount(položka) – zobrazuje počet opakovaní prvku.
  • Zoznam.odstrániť (položka) je opačná funkcia Zoznam.pripojiť (x). Môže sa použiť na odstránenie akéhokoľvek prvku. Ak vybratá položka nie je v zozname, ohlási sa chyba.
  • pop([index]) – odstráni vybraný prvok a vráti ho rovnakým spôsobom. Ak prvok nie je zadaný, posledný prvok sa zo zoznamu odstráni.
  • zoradiť ([kľúč]) – zaradí prvky do zoznamu vzostupne, ale môžete zadať aj funkciu.
  • index(položka) – zobrazuje index prvého vybraného prvku.
  • Pomocou tejto metódy môžete zoznam rozšíriť, to znamená zrkadliť všetky jeho prvky obrátene (zoznam). Posledný prvok sa stáva prvým, predposledný prvok druhým atď.
  • Pomocou príkazu sa vytvorí kópia zoznamu kopírovať (zoznam).
  • hĺbková kópia (zoznam) - hlboké kopírovanie.
  • Pomocou tejto metódy odstráňte všetky prvky zoznamu vyčistiť list).

Stojí za zmienku, že metódy výpisu sa líšia od metód reťazcov v tom, že okamžite zmenia zoznam, to znamená, že nie je potrebné vrátiť výsledok vykonania.

>>> l = [1, 2, 3, 5, 7] >>> l.sort() >>> l [1, 2, 3, 5, 7] >>> l = l.sort() > >> print(l) Žiadne

Nasleduje príklad práce so zoznamami:

>>> a = [66.25, 333, 333, 1, 1234.5] >>> print(a.count(333), a.count(66.25), a.count('x')) 2 1 0 >>> a.insert(2, -1) >>> a.append(333) >>> a [66.25, 333, -1, 333, 1, 1234.5, 333] >>> a.index(333) 1 >> > a.remove(333) >>> a [66.25, -1, 333, 1, 1234.5, 333] >>> a.reverse() >>> a [333, 1234.5, 1, 333, -1, 66.25 ] >>> a.sort() >>> a [-1, 1, 66.25, 333, 333, 1234.5]

Nechaj odpoveď