11 metod seznamu Python, které musíte znát

V tomto tutoriálu se naučíte, jak používat metody seznamu Python k přidávání prvků do seznamů Python, jejich úpravě a odstraňování prvků.

Když začínáte s programováním v Pythonu, seznamy jsou jednou z prvních vestavěných datových struktur, o kterých se naučíte. Během několika příštích minut si zopakujeme základy Pythonových seznamů a poté si projdeme několik užitečných metod seznamů, které můžete použít při práci se seznamy.

Pojďme začít!

Přehled seznamů Pythonu

V Pythonu je seznam sbírkou položek stejného nebo jiného typu dat. Kolekci můžete procházet a přistupovat k položkám pomocí konstrukcí smyček, jako jsou smyčky for.

Stejně jako všechny iterovatelné Python se seznamy řídí nulovým indexováním a podporují operaci dělení.

Jsou to proměnlivé kolekce, takže je můžete upravit na místě. To zahrnuje přidávání a odebírání prvků ze seznamu, řazení prvků v určitém pořadí, obrácení pořadí prvků a mnoho dalšího. Vestavěné metody seznamu v Pythonu vám pomohou provádět tyto akce.

Dále se podívejme na některé užitečné metody seznamu Pythonu.

Vestavěné metody seznamu v Pythonu

V této části se naučíme některé metody seznamu, které se nám budou hodit. Budeme kódovat příklady, abychom viděli tyto metody seznamu v akci.

  Jak sledovat filmy Rychle a zběsile na Netflixu odkudkoli?

Použijeme následující seznam pgm_langs. Je to seznam řetězců obsahujících názvy oblíbených programovacích jazyků.

pgm_langs = ['Python','Go','Rust','JavaScript']

Vložit položky seznamu pomocí insert()

Možná budete chtít vložit prvek do určitého indexu. K tomu můžete použít metodu insert(). Volání metody seznamu insert() zabírá:

  • Index, do kterého má být prvek vložen, a
  • Prvek, který se má vložit.

Vložme ‚Scala‘ na index 1 pomocí metody index().

pgm_langs = ['Python','Go','Rust','JavaScript']
pgm_langs.insert(1,'Scala')
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript']

Přidat položku do seznamu pomocí append()

Někdy může být nutné přidat prvek na konec seznamu. K tomu můžete použít metodu append().

Přidejme řetězec ‚Java‘ na konec seznamu pomocí metody append().

pgm_langs.append('Java')
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript', 'Java']

Přidat iterovatelné pomocí extend()

Víte, že pomocí metody append() můžete přidat jednu položku. Ale co když byste chtěli přidat více než jednu položku do existujícího seznamu, řekněme, seznamu položek? Metoda extend() k tomu poskytuje stručnou syntaxi.

Pojďme přidat prvky seznamu more_langs do seznamu pgm_langs pomocí metody extend().

more_langs = ['C++','C#','C']
pgm_langs.extend(more_langs)
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript', 'Java', 'C++', 'C#', 'C']

Můžete procházet seznamem položek a pomocí metody append() přidávat jednu položku po druhé. Toto je však podrobné. A je pohodlnější místo toho použít metodu extend().

for lang in more_langs:
    pgm_langs.append(lang)

Obrátit seznam pomocí reverse()

Chcete-li obrátit pořadí prvků v seznamu, můžete zavolat metodu reverse().

Vidíme, že seznam pgm_langs byl na svém místě obrácen.

pgm_langs.reverse()
print(pgm_langs)
# Output: ['C', 'C#', 'C++', 'Java', 'JavaScript', 'Rust', 'Go', 'Scala', 'Python']

Seřadit seznam pomocí sort()

Seznam Pythonu můžete třídit na místě pomocí metody sort(). Protože pgm_langs je seznam řetězců, vidíme, že řazení probíhá v abecedním pořadí.

pgm_langs.sort()
print(pgm_langs)
# Output: ['C', 'C#', 'C++', 'Go', 'Java', 'JavaScript', 'Python', 'Rust', 'Scala']

Chcete-li seznam seřadit v obráceném abecedním pořadí, můžete ve volání metody sort() nastavit parametr reverse na True.

pgm_langs.sort(reverse=True)
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

Přečtěte si více o řazení seznamů Pythonu.

  Jak zobrazit historii telefonních hovorů na Googlu

Vytvořte mělkou kopii pomocí copy()

Někdy může být užitečné upravit kopii původního seznamu namísto úpravy samotného původního seznamu. Metoda seznamu copy() vrací mělkou kopii seznamu Python.

Vytvořme mělkou kopii seznamu pgm_langs a nazvěme ji pgm_langs_copy. A nastavíme první prvek v seznamu na ‚Haskell‘ a vytiskneme ho.

pgm_langs_copy = pgm_langs.copy()
pgm_langs_copy[0]='Haskell'
print(pgm_langs_copy)
# Output: ['Haskell', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

Vidíme však, že seznam pgm_langs není upraven. Vytvoření mělké kopie a její úprava tedy nezmění původní seznam.

print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

Získat počet položek pomocí count()

Někdy je užitečné vědět, kolikrát se určitý prvek vyskytuje v seznamu. Metoda count() vrací počet výskytů prvku v seznamu.

V seznamu pgm_langs se všechny prvky vyskytují právě jednou. Takže když se pokusíme získat počet ‚Go‘, dostaneme 1, což je správně.

print(pgm_langs.count('Go'))
# Output: 1

Použití metody count() je jedním ze způsobů, jak odstranit duplicitní položky ze seznamů Pythonu.

Získat index položky pomocí index()

Chcete-li najít index položky v seznamu Python, můžete použít metodu index(). Předpokládejme, že bychom chtěli najít index ‚C#‘ v seznamu pgm_langs. Můžeme použít příkaz statement k ověření, že prvek indexu 7 je ‚C#‘.

print(pgm_langs.index('C#'))
# Output: 7
assert pgm_langs[7] == 'C#'

Odebrat položku na indexu pomocí pop()

Nyní se podívejme na metody seznamu metod pro odstranění prvků ze seznamů Pythonu. Metoda pop() se používá k odstranění a vrácení prvku na konkrétním indexu. Z předchozího příkladu kódu víme, že ‚C#‘ je jazyk na indexu 7.

  Jak vytvořit fotografickou koláž na Macu

Když zavoláme metodu pop() v seznamu pgm_langs s indexem 7, vidíme, že vrací ‚C#‘, prvek na indexu 7, a také jej odstraňuje ze seznamu.

print(pgm_langs.pop(7))
# Output: 'C#'
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C']

Metoda pop() tedy odstraní a vrátí prvek na zadaném indexu. Zadání indexu je však volitelné. Když nezadáte index, metoda pop() odstraní a vrátí poslední prvek v seznamu Python, jak je znázorněno:

print(pgm_langs.pop())
# Output: 'C'
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++']

Odebrat položky pomocí remove()

Někdy možná víte, který prvek odstranit, ale ne jeho index. V tomto případě můžete použít metodu remove(), která vezme prvek k odstranění a odstraní jej. Odeberme ‚Java‘ ze seznamu pgm_langs pomocí metody remove() podle obrázku.

pgm_langs.remove('Java')
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Go', 'C++']

Odebrat všechny položky pomocí clear()

Co když chcete odstranit všechny položky ze seznamu Python? Můžete procházet seznamem a odstranit každý prvek pomocí metody remove() takto:

for lang in pgm_langs:
    pgm_langs.remove(lang)

Ale existuje lepší způsob? Ano, pomocí metody clear(). Vidíme, že volání metody clear na seznamu pgm_langs odstraní všechny prvky a pgm_langs je nyní prázdný seznam.

pgm_langs.clear()
print(pgm_langs)
# Output: []

Shrnutí metod Python List

Pojďme si rychle shrnout různé metody seznamů a jejich syntaxi:

List MethodSyntaxDescriptioninsert()list1.insert(index, elt)Vloží elt na index v list1append()list1.append(elt)Přidá elt na konec seznamu1extend()list1.extend(list2)Přidá prvky ze seznamu2 na konec seznamu1sort ()list1.sort()Seřadí seznam v placereverse()list1.reverse()Vrátí seznam1 v placecopy()list1.copy()Vrátí mělkou kopii list1count()list1.count(elt)Vrátí počet elt v list1index()list1.index(elt)Vrátí index elt v list1pop()list1.pop(index)Odstraní elt na indexu a vrátí jej. remove()list1.remove(elt)Odebere elt ze seznamu1clear()list1.clear()Odstraní všechny prvky ze seznamu1

Závěr

Doufám, že vám tento tutoriál pomohl pochopit, jak používat některé z nejběžnějších metod seznamů v Pythonu. Jako další krok se dozvíte o pythonských n-ticích a rozdílech mezi seznamy a n-ticemi v Pythonu.

Pokud se učíte Python, můžete se podívat na tento seznam výukových zdrojů pro začátečníky.