Filtrujte zoznam reťazcov pomocou iného zoznamu
Tento príklad ukazuje, ako je možné filtrovať údaje v zozname reťazcov bez použitia akejkoľvek metódy. Zoznam reťazcov sa tu filtruje pomocou iného zoznamu. Tu sa deklarujú dve premenné zoznamu s názvom zoznam1 a zoznam2. Hodnoty zoznam2 sa filtruje pomocou hodnôt zoznam1. Skript sa bude zhodovať s prvým slovom každej hodnoty zoznam2 s hodnotami zoznam1 a vytlačiť tie hodnoty, ktoré neexistujú v zoznam1.
# Deklarujte dve premenné zoznamulist1 = ['Perl', 'PHP', 'Java', 'ASP']
list2 = ['JavaScript je skriptovací jazyk na strane klienta',
„PHP je skriptovací jazyk na strane servera“,
„Java je programovací jazyk“,
'Bash je skriptovací jazyk']
# Filtrujte druhý zoznam na základe prvého zoznamu
filter_data = [x pre x v zozname2, ak
all (y not in x for y in list1)]
# Vytlačiť údaje zo zoznamu pred filtrom a po filtrácii
print ("Obsah prvého zoznamu:", zoznam1)
print ("Obsah druhého zoznamu:", zoznam2)
print ("Obsah druhého zoznamu po filtri:", filter_data)
Výkon:
Spustite skript. Tu, zoznam1 neobsahuje slovo „Bash„. Výstup bude obsahovať iba jednu hodnotu z zoznam2 to je 'Bash je skriptovací jazyk '.
Filtrujte zoznam reťazcov pomocou iného zoznamu a vlastnej funkcie
Tento príklad ukazuje, ako je možné filtrovať zoznam reťazcov pomocou iného zoznamu a funkcie vlastného filtra. Skript obsahuje dve premenné zoznamu s názvom list1 a list2. Funkcia vlastného filtra zistí bežné hodnoty oboch premenných zoznamu.
# Deklarujte dve premenné zoznamulist1 = ['90', '67', '34', '55', '12', '87', '32']
list2 = ['9', '90', '38', '45', '12', '20']
# Deklarujte funkciu filtrovania údajov z prvého zoznamu
def Filter (zoznam1, zoznam2):
návrat [n pre n v zozname1, ak
ľubovoľný (m v n pre m v zozname2)]
# Vytlačte údaje zo zoznamu pred filtrom a po filtrácii
print ("Obsah zoznamu1:", zoznam1)
print ("Obsah zoznamu2:", zoznam2)
print ("Údaje za filtrom", Filter (zoznam1, zoznam2))
Výkon:
Spustite skript. V obidvoch premenných zoznamu existuje 90 a 12 hodnôt. Po spustení skriptu sa vygeneruje nasledujúci výstup.
Filtrujte zoznam reťazcov pomocou regulárneho výrazu
Zoznam je filtrovaný pomocou všetko () a akýkoľvek() v predchádzajúcich dvoch príkladoch. Na filtrovanie údajov zo zoznamu sa v tomto príklade používa regulárny výraz. Regulárny výraz je vzor, podľa ktorého možno vyhľadávať alebo porovnávať akékoľvek údaje. 'znovu' modul sa používa v pythone na použitie regulárneho výrazu v skripte. Tu je zoznam deklarovaný s kódmi predmetov. Regulárny výraz sa používa na filtrovanie tých kódov predmetov, ktoré začínajú slovom, 'CSE„. „^Symbol 'sa používa vo vzoroch regulárneho výrazu na vyhľadávanie na začiatku textu.
# Importujte nový modul, aby ste mohli používať regulárny výrazimport re
# Deklarujte, že zoznam obsahuje kód predmetu
sublist = ['CSE-407', 'PHY-101', 'CSE-101', 'ENG-102', 'MAT-202']
# Deklarujte funkciu filtra
def Filter (datalist):
# Vyhľadať údaje na základe regulárneho výrazu v zozname
návrat [val pre val v datalist
ak re.hľadať (r '^ CSE', val)]
# Vytlačte údaje filtra
tlačiť (filter (podzoznam))
Výkon:
Spustite skript. podzoznam premenná obsahuje dve hodnoty, ktoré začínajú na 'CSE„. Po spustení skriptu sa zobrazí nasledujúci výstup.
Filtrujte zoznam reťazcov pomocou výrazu lamda
Tento príklad ukazuje použitie lamda výraz na filtrovanie údajov zo zoznamu reťazcov. Tu je uvedená premenná zoznamu hľadané_slovo sa používa na filtrovanie obsahu z textovej premennej s názvom text. Obsah textu sa prevedie do zoznamu s názvom, textové slovo založené na priestore pomocou split () metóda. lamda výraz vynechá tieto hodnoty z textové slovo ktoré existujú v hľadané_slovo a uložte filtrované hodnoty do premennej pridaním medzery.
# Deklarujte zoznam, ktorý obsahuje hľadané slovosearch_word = ["Teach", "Code", "Programming", "Blog"]
# Definujte text, v ktorom sa bude hľadať slovo zo zoznamu
text = "Naučte sa programovanie v Pythone z blogu s tipom na Linux"
# Rozdeľte text na základe medzery a uložte slová do zoznamu
text_slovo = text.split ()
# Pomocou výrazu lambda filtrujte údaje
filter_text = ".pripojiť sa ((filter (lambda val: val nie i
n hľadané_slovo, textové_slovo)))
# Vytlačte text pred filtrovaním a po filtrovaní
print ("\ nText pred filtrovaním: \ n", text)
print ("Text po filtrovaní: \ n", filter_text)
Výkon:
Spustite skript. Po spustení skriptu sa zobrazí nasledujúci výstup.
Filtrujte zoznam reťazcov pomocou metódy filter ()
filter () metóda akceptuje dva parametre. Prvý parameter má názov funkcie alebo Žiadne a druhý parameter berie názov premennej zoznamu ako hodnoty. filter () Metóda uloží tieto údaje zo zoznamu, ak vráti hodnotu true, inak údaje zahodí. Tu, Žiadne sa uvádza ako prvá hodnota parametra. Všetky hodnoty bez nepravdivé budú načítané zo zoznamu ako filtrované údaje.
# Deklarujte zoznam údajov mixulistData = ['Hello', 200, 1, 'World', False, True, '0']
# Metóda call filter () s None a zoznamom
filtrované údaje = filter (žiadne, zoznamDáta)
# Vytlačte zoznam po filtrovaní údajov
print ('Zoznam po filtrovaní:')
pre val vo filtrovaných dátach:
tlač (val)
Výkon:
Spustite skript. Zoznam obsahuje iba jednu falošnú hodnotu, ktorá sa vo filtrovaných údajoch vynechá. Po spustení skriptu sa zobrazí nasledujúci výstup.
Záver:
Filtrovanie je užitočné, keď potrebujete vyhľadať a načítať konkrétne hodnoty zo zoznamu. Dúfam, že vyššie uvedené príklady pomôžu čitateľom pochopiť spôsoby filtrovania údajov zo zoznamu reťazcov.