Seznamy ( seznam ) v Pythonu. Seznam funkcí a metod

V programování jsou seznamy možná stejně užitečnou datovou strukturou jako pole. Co jsou seznamy, jak je vytvořit? Jak pracovat se seznamy v Pythonu? To se dozvíte z našeho článku.

Co jsou seznamy v Pythonu?

Seznamy ( seznam ) v Pythonu. Seznam funkcí a metod
Datové typy Pythonu: Seznamy

Seznamy lze částečně identifikovat pomocí polí, ale rozdíl a výhoda výpisů (jinak se jim také říká výpisy) je v tom, že mohou kombinovat různé datové typy. To znamená, že výpis otevírá další možnosti pro uložení libovolné sekvence objektů. Proměnná, nazývaná seznam, obsahuje odkaz na strukturu v paměti, která obsahuje odkazy na alternativní struktury.

Seznam v Pythonu je uspořádaná kolekce objektů smíšených typů, které lze upravovat a jejichž objekty se mohou lišit.

Co to znamená? Pojďme se na definici podívat podrobně.

Velikost výpisu lze měnit, zmenšovat, přidávat do něj nové řádky. Můžete také změnit celou strukturu seznamu. Mějte na paměti, že při každém použití metody v seznamu se změní původní seznam, nikoli kopie.

Pro větší přehlednost si můžete výpis v Pythonu představit jako seznam produktů, které je potřeba koupit v obchodě. Pokud jsou při vytváření nákupního plánu všechny potřebné položky umístěny pod sebou a každá z nich má svůj vlastní řádek, pak výpis v Pythonu obsahuje všechny prvky oddělené čárkami a v hranatých závorkách, aby Python pochopil, že seznam je uveden zde. Prvky jsou uzavřeny v uvozovkách. Toto je povinná podmínka, protože každý prvek je samostatný řádek.

Způsoby, jak vytvořit seznam

Když přejdeme ke klasickému příkladu, vytvoříme seznam, který budeme v budoucnu používat a upravovat. Existuje několik způsobů, jak generovat výpisy.

Jedním z nich je aplikace vestavěný seznam funkcí ( ). Chcete-li to provést, musíte zpracovat jakýkoli objekt, který lze iterovat (řetězec, n-tice nebo existující seznam). V tomto případě řetězec.

Co se stane na konci:

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

Druhý příklad ukazuje, že seznamy mohou obsahovat neomezený počet velmi odlišných objektů. Výpis může také zůstat prázdný.

>>> s = [] # Prázdný seznam >>> l = ['s', 'p', ['isok'], 2] >>> s [] >>> l ['s', 'p' , ['isok'], 2]

Dalším, třetím, způsobem tvorby výpisů je tzv generátor výpisů.

Generátor výpisů je syntaktický konstrukt pro vytváření výpisů. Je to podobné jako u smyčky for.

>>> c = [c * 3 pro c v 'seznamu'] >>> c ['lll', 'iii', 'sss', 'tttt']

Lze jej také použít k vytvoření objemnějších struktur:

>>> c = [c * 3 pro c v 'seznamu', pokud c != 'i'] >>> c ['lll', 'sss', 'ttt'] >>> c = [c + d pro c v 'seznam', pokud c != 'i' pro d v 'spam', pokud d != 'a'] >>> c ['ls', 'lp', 'lm', 'ss', 'sp' , 'sm', 'ts', 'tp', 'tm']

Tato metoda generování však není vždy efektivní při kompilaci více výpisů. Proto je vhodné použít pro generování výpisů cyklus for.

Pokud potřebujete odkazovat na jakýkoli prvek ze seznamu, použijí se indexy. Každý prvek má svůj vlastní index.

Index je číslo prvku v seznamu.

Pokud chcete naplnit výpis opakujícími se identickými prvky, použije se symbol *. Například k výpisu potřebujete přidat tři stejná čísla: [100] * 3.

Výpis funkcí

funkce – to je možná hlavní výhoda Pythonu oproti jiným programovacím jazykům. Na seznamy lze použít základní vestavěné funkce.

Zvažte nejoblíbenější z nich:

  • seznam(rozsah()) – pokud je úkolem vytvořit sekvenční seznam, použije se funkce range. Tato funkce má následující formy:
  1. rozsah (konec). Používá se, když je potřeba vytvořit výpis od nuly do konečného čísla.
  2. rozsah (začátek, konec). Jsou zadána počáteční i koncová čísla.
  3. rozsah (začátek, konec, krok). Parametr step určuje charakteristiku výběru. Pokud například potřebujete vybrat každé páté číslo ze sekvence od 1 do 21, bude výsledný výpis vypadat takto: [10,15, 20].

Funkce range může výrazně snížit množství kódu.

  • len (seznam) – umožňuje zjistit, kolik prvků je v seznamu.
  • seřazeno (seznam, [klíč]) – seřadí objekty v seznamu ve vzestupném pořadí.
  • max (seznam) – vrátí největší prvek.
  • min (seznam) – opačná funkce – umožňuje vrátit prvek s minimální hodnotou.

Můžete také použít další vestavěné funkce:

  • seznam (nice) – Převede objekt n-tice na seznam.
  • součet (seznam) – sečte všechny prvky v seznamu, pokud jsou všechny hodnoty čísla, platí jak pro celá čísla, tak pro desetinná místa. Ne vždy se jí to však povede. Pokud je v seznamu nečíselný prvek, funkce vyvolá chybu: „TypeError: nepodporované typy operandů pro +: 'int' a 'str'“.

Metody výpisu

Seznamy ( seznam ) v Pythonu. Seznam funkcí a metod
Seznam metod Pythonu

Vraťme se k našemu seznamu položek ke koupi v obchodě a nazvěme jej shoplist:

seznam obchodů = []

Dále zvažte metody výpisu:

  • připojit (položka) – s jeho pomocí můžete přidat prvek do seznamu. V tomto případě bude nový prvek na konci.

Pojďme naplnit náš nový seznam správnými produkty:

shoplist.append(chléb)

shoplist.append(mléko)

  • seznam.rozšířit(A) – přidá „seznam do seznamu“. Tato funkce šetří čas, protože můžete přidat více položek současně. Řekněme, že již máme seznam ovoce, potřebujeme je přidat do hlavního seznamu.

shoplist.extend(ovoce)

  • vložit (index, položka) – vloží na prvek se zadaným indexem zadanou hodnotu před zadaný index.
  • lcount(položka) – zobrazuje počet opakování prvku.
  • seznam.odstranit(položka) je opačná funkce seznam.připojit (x). Lze jej použít k odstranění jakéhokoli prvku. Pokud vybraná položka není v seznamu, je hlášena chyba.
  • pop([index]) – odebere vybraný prvek a vrátí jej stejným způsobem. Pokud prvek není zadán, bude poslední prvek ze seznamu odstraněn.
  • řazení ([klíč]) – seřadí prvky ve výpisu vzestupně, ale můžete také určit funkci.
  • index (položka) – zobrazí index prvního vybraného prvku.
  • Pomocí této metody můžete seznam rozšířit, to znamená zrcadlit všechny jeho prvky obráceně (seznam). Poslední prvek se stává prvním, předposlední prvek druhým atd.
  • Pomocí příkazu se vytvoří kopie seznamu kopie (seznam).
  • hluboká kopie (seznam) – hluboké kopírování.
  • Odstraňte všechny prvky výpisu pomocí metody prázdný seznam).

Stojí za zmínku, že metody výpisu se liší od metod řetězců v tom, že okamžitě změní seznam, to znamená, že není třeba vracet výsledek provádění.

>>> l = [1, 2, 3, 5, 7] >>> l.sort() >>> l [1, 2, 3, 5, 7] >>> l = l.sort() > >> tisk(l) Žádné

Následuje příklad práce se seznamy:

>>> 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]

Napsat komentář