Filtrujte seznam řetězců pomocí jiného seznamu
Tento příklad ukazuje, jak lze filtrovat data v seznamu řetězců bez použití jakékoli metody. Seznam řetězce je zde filtrován pomocí jiného seznamu. Zde jsou deklarovány dvě proměnné seznamu se jménem seznam1 a seznam2. Hodnoty seznam2 je filtrován pomocí hodnot seznam1. Skript bude odpovídat prvnímu slovu každé hodnoty seznam2 s hodnotami seznam1 a vytisknout ty hodnoty, které neexistují seznam1.
# Deklarujte dvě proměnné seznamulist1 = ['Perl', 'PHP', 'Java', 'ASP']
list2 = ['JavaScript je skriptovací jazyk na straně klienta',
„PHP je skriptovací jazyk na straně serveru“,
„Java je programovací jazyk“,
'Bash je skriptovací jazyk']
# Filtrování druhého seznamu podle prvního seznamu
filter_data = [x pro x v seznamu2, pokud
all (y not in x for y in list1)]
# Vytisknout data seznamu před filtrem a po filtru
tisk ("Obsah prvního seznamu:", seznam1)
print ("Obsah druhého seznamu:", seznam2)
print ("Obsah druhého seznamu po filtru:", filter_data)
Výstup:
Spusťte skript. Tady, seznam1 neobsahuje slovo „Bash''. Výstup bude obsahovat pouze jednu hodnotu z seznam2 to je 'Bash je skriptovací jazyk '.
Filtrujte seznam řetězců pomocí jiného seznamu a vlastní funkce
Tento příklad ukazuje, jak lze seznam řetězců filtrovat pomocí jiného seznamu a funkce vlastního filtru. Skript obsahuje dvě proměnné seznamu s názvem list1 a list2. Funkce vlastního filtru zjistí společné hodnoty obou proměnných seznamu.
# Deklarujte dvě proměnné seznamulist1 = ['90', '67', '34', '55', '12', '87', '32']
list2 = ['9', '90', '38', '45', '12', '20']
# Deklarujte funkci pro filtrování dat z prvního seznamu
def Filtr (seznam1, seznam2):
návrat [n pro n v seznamu1, pokud
libovolný (m v n pro m v seznamu2)]
# Vytiskněte data seznamu před filtrem a po filtru
tisk ("Obsah seznamu1:", seznam1)
print ("Obsah list2:", list2)
tisk ("Data za filtrem", Filtr (seznam1, seznam2))
Výstup:
Spusťte skript. V obou proměnných seznamu existuje 90 a 12 hodnot. Po spuštění skriptu bude vygenerován následující výstup.
Filtrujte seznam řetězců pomocí regulárního výrazu
Seznam je filtrován pomocí Všechno() a žádný() metody v předchozích dvou příkladech. K filtrování dat ze seznamu se v tomto příkladu používá regulární výraz. Regulární výraz je vzor, podle kterého lze prohledávat nebo porovnávat libovolná data. 're' modul se používá v pythonu k použití regulárního výrazu ve skriptu. Zde je seznam deklarován s kódy předmětů. Regulární výraz se používá k filtrování kódů předmětů, které začínají slovem, 'CSE''. ''^Symbol 'se používá ve vzorech regulárních výrazů k vyhledávání na začátku textu.
# Importujte modul pro použití regulárního výrazuimport re
# Prohlásit, že seznam obsahuje kód předmětu
sublist = ['CSE-407', 'PHY-101', 'CSE-101', 'ENG-102', 'MAT-202']
# Deklarujte funkci filtru
def filtr (datalist):
# Vyhledat data na základě regulárního výrazu v seznamu
návrat [val pro val v datalistu
pokud znovu.hledat (r '^ CSE', val)]
# Vytiskněte data filtru
tisk (filtr (podseznam))
Výstup:
Spusťte skript. podseznam proměnná obsahuje dvě hodnoty, které začínají 'CSE''. Po spuštění skriptu se zobrazí následující výstup.
Filtrujte seznam řetězců pomocí lamda výrazu
Tento příklad ukazuje použití lamda výraz pro filtrování dat ze seznamu řetězců. Zde je uvedena proměnná seznamu hledat_slovo se používá k filtrování obsahu z textové proměnné s názvem text. Obsah textu se převede na seznam s názvem, textové slovo na základě prostoru pomocí rozdělit() metoda. lamda výraz vynechá tyto hodnoty z textové slovo které existují v hledat_slovo a uložte filtrované hodnoty do proměnné přidáním mezery.
# Deklarujte seznam, který obsahuje hledané slovosearch_word = ["Teach", "Code", "Programming", "Blog"]
# Definujte text, kde bude slovo ze seznamu vyhledáváno
text = "Naučte se programování v Pythonu z blogu s nápovědou pro Linux"
# Rozdělte text podle prostoru a uložte slova do seznamu
text_word = text.rozdělit()
# Pomocí výrazu lambda filtrujte data
filter_text = ".join ((filter (lambda val: val not i
n vyhledávací slovo, textové slovo)))
# Tiskněte text před filtrováním a po filtrování
print ("\ nText před filtrováním: \ n", text)
print ("Text po filtrování: \ n", filter_text)
Výstup:
Spusťte skript. Po spuštění skriptu se zobrazí následující výstup.
Filtrujte seznam řetězců pomocí metody filter ()
filtr() metoda přijímá dva parametry. První parametr má název funkce nebo Žádný a druhý parametr přebírá název proměnné seznamu jako hodnoty. filtr() metoda uloží tato data ze seznamu, pokud vrátí hodnotu true, jinak data zahodí. Tady, Žádný je uvedena jako první hodnota parametru. Všechny hodnoty bez Nepravdivé budou načteny ze seznamu jako filtrovaná data.
# Deklarujte seznam dat mixulistData = ['Hello', 200, 1, 'World', False, True, '0']
# Metoda call filter () s None a seznamem
filtredata = filtr (žádný, seznamData)
# Vytiskněte seznam po filtrování dat
print ('Seznam po filtrování:')
pro val ve filtrovaných datech:
tisk (val)
Výstup:
Spusťte skript. Seznam obsahuje pouze jednu falešnou hodnotu, která bude ve filtrovaných datech vynechána. Po spuštění skriptu se zobrazí následující výstup.
Závěr:
Filtrování je užitečné, když potřebujete vyhledat a načíst konkrétní hodnoty ze seznamu. Doufám, že výše uvedené příklady pomohou čtenářům porozumět způsobům filtrování dat ze seznamu řetězců.