Jak najít prvek v pythonovském seznamu

author
5 minutes, 6 seconds Read

Python má různé datové typy pro ukládání kolekce dat. Seznam v jazyce Python je jedním z nich a seznam může obsahovat různé typy dat, například číslo, řetězec, boolean atd. Někdy je třeba v seznamu vyhledat konkrétní prvky. Prvky v seznamu jazyka Python lze vyhledávat různými způsoby. Jak lze vyhledat libovolný prvek a seznam prvků v seznamu, je vysvětleno v tomto tutoriálu na různých příkladech.

Příklad-1: Vyhledání jednoho prvku v seznamu pomocí operátoru ‚in‘

Následující skript ukazuje, jak lze snadno vyhledat libovolný prvek v seznamu pomocí operátoru ‚in‘ bez použití smyčky. Ve skriptu je definován seznam názvů květin a jako vstup od uživatele bude převzat název květiny, který bude v seznamu vyhledán. K vyhledání vstupního jména květiny v seznamu se použije příkaz if s operátorem ‚in‘.

#!/usr/bin/env python3
# Definujte seznam květin
flowerList =
# Vezměte jméno květiny, které chcete v seznamu vyhledat
flowerName = input(„Zadejte jméno květiny:“)
# Vyhledejte prvek pomocí operátoru ‚in‘
if flowerName.lower() in flowerList:
# Vypište zprávu o úspěchu
print(„%s je nalezeno v seznamu“ %(flowerName))
else:
# Vypište zprávu o nenalezení
print(„%s není nalezeno v seznamu“ %(flowerName))

Výstup:

Výstup ukazuje, že Narcis v seznamu existuje a Lilie v seznamu neexistuje.

Příklad-2: Nalezení prvku pomocí indexové metody

Jiný jednoduchý způsob, jak najít konkrétní prvek v seznamu pomocí indexové metody. Následující skript ukazuje použití metody index() pro vyhledání prvku v seznamu. Tato metoda vrátí platnou indexovou pozici, pokud je konkrétní prvek v seznamu nalezen, jinak vygeneruje chybu ValueError, pokud chcete pozici uložit do proměnné. blok try vypíše zprávu o úspěchu, pokud metoda index() vrátí platnou hodnotu pozice na základě hledané hodnoty. Blok except vypíše zprávu o neúspěchu, pokud hledaný prvek v seznamu neexistuje.

#!/usr/bin/env python3
try:
# Definujte seznam knih
bookList =
# Vezměte název knihy, kterou chcete v seznamu vyhledat
bookName = input(„Zadejte název knihy:“)
# Vyhledejte prvek pomocí metody index
search_pos = int(bookList.index(bookName))
# Vypište nalezenou zprávu
print(„%s kniha je nalezena v seznamu“ %(bookName))
except(ValueError):
# Vypište nenalezenou zprávu
print(„%s kniha není nalezena v seznamu“ %(bookName))

Výstup:

Výstup ukazuje, že ‚Goodnight Moon‘ v seznamu existuje a ‚Charlie and the Chocolate Factory‘ v seznamu neexistuje.

Příklad-3: Nalezení více indexů v seznamu

Jak můžete najít jeden prvek v seznamu, je uvedeno v předchozích dvou příkladech. Následující skript ukazuje, jak můžete vyhledat všechny prvky seznamu uvnitř jiného seznamu. V tomto skriptu jsou použity tři seznamy. selectedList je hlavní seznam, ve kterém budou prohledávány prvky searchList. foundList se zde používá k uložení těch prvků, které jsou po prohledání nalezeny ve selectedList. První smyčka for slouží k vytvoření foundListu a druhá smyčka for slouží k iteraci foundListu a zobrazení výstupu.

#!/usr/bin/env python3
# Definujte seznam vybraných osob
selectedList =
# Definujte seznam hledaných osob
searchList =
# Definujte prázdný seznam
foundList =
# Iterujte každý prvek z vybraného seznamu
for index, sList in enumerate(selectedList):
# Porovnejte prvek s prvkem searchList
if sList in searchList:
# Uložte hodnotu do foundList, pokud je nalezena shoda
foundList.append(selectedList)
# iterujte searchList
for val in searchList:
# zkontrolujte, zda hodnota existuje v foundList nebo ne
if val in foundList:
print(„%s je vybráno.\n“ %val)
else:
print(„%s není vybráno.\n“ %val)

Výstup:

Po spuštění slova se zobrazí následující výstup.

Příklad-4: Nalezení prvku pomocí vlastní funkce

Pokud chcete najít prvek v seznamu vícekrát, pak je lepší použít vlastní metodu vyhledávání, než psát vyhledávací skript vícekrát. Následující skript ukazuje, jak můžete najít libovolnou hodnotu v seznamu pomocí vlastní funkce s názvem findElement. Funkce vrátí True, pokud seznam obsahuje hledaný prvek, jinak vrátí False.

#!/usr/bin/env python3
# Definujte seznam potravin
potraviny =
# Převezměte od uživatele název potraviny
search = input(‚Zadejte své oblíbené jídlo : ‚)
# Definujte vlastní funkci pro nalezení prvku v seznamu
def findElement(listName, searchElement):
# Přečtěte seznam pomocí cyklu
for value in listName:
# Zkontrolujte, zda se hodnota prvku rovná hledané hodnotě nebo ne
if value == searchElement:
return True
# Vraťte false, pokud nebyla nalezena shoda
return False
# Vyvolejte funkci s názvem seznamu a hledanou hodnotou
if findElement(food, search.lower()):
print(„%s je nalezeno“ %search)
else:
print(„%s není nalezeno“ %search)

Výstup:

Pro vstup „Cake“ a „Chocolate Cake“ se zobrazí následující výstup.

Příklad-5: Vyhledání a spočítání prvků v seznamu na základě délky

Následující skript ukazuje, jak můžete vyhledat a spočítat počet prvků v seznamu na základě délky prvku. Zde je seznam s názvem persons iterován pomocí cyklu for a zjišťována délka každého prvku seznamu. Hodnota čítače se zvyšuje, pokud je délka prvku větší nebo rovna 7.

#!/usr/bin/env python3
# Definujeme seznam osob
osoby =
# Inicializujeme počítadlo
počítadlo = 0
# Iterujeme seznam pomocí cyklu
for name in osoby:
# Zkontrolujeme délku prvku
if (len(name) >= 7) :
# Zvyš čítač o jedničku
čítač = čítač + 1
# Zkontroluj hodnotu čítače
if (čítač > 0):
print(„%d osob(y) délka jména je/jsou větší než 7.“ %counter)
else:
print(„Délka jména všech osob je menší než 7.“)

Výstup:

Po spuštění skriptu se zobrazí následující výstup:

Závěr:

V tomto návodu jsou ukázány různé způsoby vyhledávání jednotlivých a více prvků v seznamu pomocí operátoru in, metody index a vlastní funkce. Po přečtení tohoto tutoriálu bude čtenář schopen správně provádět vyhledávání v seznamu v jazyce Python.

Podívejte se na autorovo video: zde

.

Similar Posts

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.