Filtrați o listă de șiruri utilizând o altă listă
Acest exemplu arată cum datele dintr-o listă de șiruri pot fi filtrate fără a utiliza nicio metodă. Lista șirului este filtrată aici utilizând o altă listă. Aici, două variabile de listă sunt declarate cu numele list1 și list2. Valorile list2 este filtrat utilizând valorile de list1. Scriptul se va potrivi cu primul cuvânt din fiecare valoare a list2 cu valorile de list1 și tipăriți acele valori care nu există în list1.
# Declarați două variabile de listălist1 = ['Perl', 'PHP', 'Java', 'ASP']
list2 = ['JavaScript este un limbaj de script pentru partea clientului',
„PHP este un limbaj de script pe partea de server”,
„Java este un limbaj de programare”,
„Bash este un limbaj de scriptare”]
# Filtrați a doua listă pe baza primei liste
date_filtru = [x pentru x în lista2 dacă
toate (y nu în x pentru y în lista1)]
# Imprimați datele listei înainte de filtrare și după filtrare
print ("Conținutul primei liste:", list1)
print ("Conținutul celei de-a doua liste:", list2)
print ("Conținutul celei de-a doua liste după filtru:", date_filtru)
Ieșire:
Rulați scriptul. Aici, list1 nu conține cuvântul „Bash'. Ieșirea va conține o singură valoare din list2 acesta este 'Bash este un limbaj de scriptare '.
Filtrează o listă de șiruri folosind o altă listă și o funcție personalizată
Acest exemplu arată cum poate fi filtrată o listă de șiruri utilizând o altă listă și funcția de filtrare personalizată. Scriptul conține două variabile list numite list1 și list2. Funcția de filtrare personalizată va afla valorile comune ale ambelor variabile de listă.
# Declarați două variabile de listălist1 = ['90', '67', '34', '55', '12', '87', '32']
list2 = ['9', '90', '38', '45', '12', '20']
# Declarați o funcție pentru a filtra datele din prima listă
Def Filter (list1, list2):
returnează [n pentru n în lista1 dacă
oricare (m în n pentru m în lista2)]
# Imprimați datele listei înainte de filtrare și după filtrare
print ("Conținutul listei1:", listei1)
print ("Conținutul listei2:", listei2)
print („Datele după filtrare”, Filtru (listă1, listă2))
Ieșire:
Rulați scriptul. 90 și 12 valori există în ambele variabile de listă. Următoarea ieșire va fi generată după rularea scriptului.
Filtrează o listă de șiruri folosind expresia regulată
Lista este filtrată folosind toate() și orice() metodele din cele două exemple precedente. O expresie regulată este utilizată în acest exemplu pentru a filtra datele dintr-o listă. O expresie regulată este un model prin care orice date pot fi căutate sau potrivite. 're' modulul este utilizat în python pentru a aplica expresia regulată în script. Aici este declarată o listă cu coduri de subiect. O expresie regulată este utilizată pentru a filtra acele coduri de subiect care încep cu cuvântul, 'CSE'. '^simbolul este utilizat în modele de expresie obișnuite pentru a căuta la începutul textului.
# Importați modulul re pentru a utiliza expresia regulatăimport re
# Declarați că lista conține codul subiectului
sublist = ['CSE-407', 'PHY-101', 'CSE-101', 'ENG-102', 'MAT-202']
# Declarați funcția de filtrare
Def Filter (datalist):
# Căutați date pe baza expresiei regulate din listă
return [val for val in datalist
dacă re.căutare (r '^ CSE', val)]
# Imprimați datele filtrului
print (Filter (sublist))
Ieșire:
Rulați scriptul. sublist variabila conține două valori care încep cu „CSE'. Următoarea ieșire va apărea după rularea scriptului.
Filtrează o listă de șiruri folosind expresia lamda
Acest exemplu arată utilizarea lamda expresie pentru a filtra datele dintr-o listă de șiruri. Aici, o variabilă de listă numită căutare_cuvânt este folosit pentru a filtra conținutul dintr-o variabilă text numită text. Conținutul textului este convertit într-o listă numită, text_word bazat pe spațiu prin utilizarea Despică() metodă. lamda expresia va omite acele valori din text_word care există în căutare_cuvânt și stocați valorile filtrate într-o variabilă adăugând spațiu.
# Declarați o listă care conține cuvântul căutatsearch_word = ["Teach", "Code", "Programming", "Blog"]
# Definiți textul în care va căuta cuvântul din listă
text = "Aflați programarea Python din Linux Hint Blog"
# Împarte textul pe baza spațiului și stochează cuvintele într-o listă
text_word = text.Despică()
# Utilizarea expresiei lambda filtrează datele
filter_text = ".join ((filter (lambda val: val not i
n căutare_ cuvânt, cuvânt_text)))
# Imprimați text înainte de filtrare și după filtrare
print ("\ nText înainte de filtrare: \ n", text)
print ("Text după filtrare: \ n", filter_text)
Ieșire:
Rulați scriptul. Următoarea ieșire va apărea după rularea scriptului.
Filtrează o listă de șiruri folosind metoda filter ()
filtru() metoda acceptă doi parametri. Primul parametru ia un nume de funcție sau Nici unul iar al doilea parametru ia numele variabilei listă ca valori. filtru() metoda stochează acele date din listă dacă returnează adevărat, în caz contrar, aruncă datele. Aici, Nici unul este dată ca prima valoare a parametrului. Toate valorile fără fals vor fi preluate din listă ca date filtrate.
# Declarați o listă de date mixlistData = ['Hello', 200, 1, 'World', False, True, '0']
# Metoda filter call () cu None și o listă
filteredData = filtru (Niciuna, listData)
# Imprimați lista după filtrarea datelor
print ('Lista după filtrare:')
pentru val în Date filtrate:
print (val)
Ieșire:
Rulați scriptul. Lista conține o singură valoare falsă care va fi omisă în datele filtrate. Următoarea ieșire va apărea după rularea scriptului.
Concluzie:
Filtrarea este utilă atunci când trebuie să căutați și să recuperați anumite valori dintr-o listă. Sper că exemplele de mai sus îi vor ajuta pe cititori să înțeleagă modalitățile de filtrare a datelor dintr-o listă de șiruri.