Filtrējiet virkņu sarakstu, izmantojot citu sarakstu
Šis piemērs parāda, kā virknes saraksta datus var filtrēt, neizmantojot nevienu metodi. Virknes saraksts tiek filtrēts šeit, izmantojot citu sarakstu. Šeit ar nosaukumu tiek deklarēti divi saraksta mainīgie saraksts1 un saraksts2. Vērtības saraksts2 tiek filtrēts, izmantojot vērtības saraksts1. Skripts sakritīs ar katras vērtības pirmo vārdu saraksts2 ar vērtībām saraksts1 un izdrukājiet tās vērtības, kas šeit nepastāv saraksts1.
# Deklarēt divus saraksta mainīgoslist1 = ['Perl', 'PHP', 'Java', 'ASP']
list2 = ['JavaScript ir klienta puses skriptu valoda',
"PHP ir servera puses skriptu valoda",
"Java ir programmēšanas valoda",
'Bash ir skriptu valoda']
# Filtrējiet otro sarakstu, pamatojoties uz pirmo sarakstu
filter_data = [x x x sarakstā 2, ja
visi (y nav x attiecībā uz y 1. sarakstā)]
# Drukāt saraksta datus pirms filtra un pēc filtra
drukāt ("Pirmā saraksta saturs:", saraksts1)
drukāt ("Otrā saraksta saturs:", saraksts2)
print ("Otrā saraksta saturs pēc filtra:", filter_data)
Izeja:
Palaidiet skriptu. Šeit, saraksts1 nesatur vārdu "Bash". Izejā būs tikai viena vērtība no saraksts2 tas ir 'Bash ir skriptu valoda ".
Filtrējiet virkņu sarakstu, izmantojot citu sarakstu un pielāgotu funkciju
Šis piemērs parāda, kā virkņu sarakstu var filtrēt, izmantojot citu sarakstu un pielāgotās filtrēšanas funkciju. Skripts satur divus saraksta mainīgos ar nosaukumu list1 un list2. Pielāgotā filtra funkcija uzzinās abu saraksta mainīgo kopīgās vērtības.
# Deklarēt divus saraksta mainīgossaraksts1 = ['90', '67', '34', '55', '12', '87', '32']
saraksts2 = ['9', '90', '38', '45', '12', '20']
# Deklarējiet funkciju, lai filtrētu datus no pirmā saraksta
def filtrs (saraksts1, saraksts2):
atgriezt [n par n sarakstā1, ja
jebkurš (m n n, ja m sarakstā 2)]
# Izdrukājiet saraksta datus pirms filtra un pēc filtra
drukāt ("1. saraksta saturs:", 1. saraksts)
drukāt ("2. saraksta saturs:", 2. saraksts)
drukāt ("Dati pēc filtra", Filtrs (saraksts1, saraksts2))
Izeja:
Palaidiet skriptu. Abos saraksta mainīgajos ir 90 un 12 vērtības. Pēc skripta palaišanas tiks ģenerēta šāda izeja.
Filtrējiet virkņu sarakstu, izmantojot regulāro izteiksmi
Saraksts tiek filtrēts, izmantojot visi () un jebkurš () metodes iepriekšējos divos piemēros. Regulāra izteiksme šajā piemērā tiek izmantota, lai filtrētu datus no saraksta. Regulāra izteiksme ir modelis, pēc kura jebkurus datus var meklēt vai saskaņot. "re" modulis tiek izmantots pitonā, lai skriptā lietotu regulāru izteiksmi. Šeit tiek deklarēts saraksts ar priekšmetu kodiem. Regulāra izteiksme tiek izmantota, lai filtrētu tos priekšmetu kodus, kas sākas ar vārduPMP". "^'simbols tiek izmantots regulāru izteiksmju šablonos, lai meklētu teksta sākumā.
# Importējiet moduli, lai izmantotu regulāro izteiksmiimporta re
# Paziņojiet, ka sarakstā ir priekšmeta kods
sublist = ['CSE-407', 'PHY-101', 'CSE-101', 'ENG-102', 'MAT-202']
# Paziņojiet filtra funkciju
def filtrs (datalists):
# Meklēt datus, pamatojoties uz regulāro izteiksmi sarakstā
atgriešanās [val for val datalist
ja re.meklēt (r '^ CSE', val)]
# Izdrukājiet filtra datus
drukāt (Filtrēt (apakškārtā))
Izeja:
Palaidiet skriptu. apakšsaraksts mainīgais satur divas vērtības, kas sākas ar 'PMP". Pēc skripta palaišanas parādīsies šāda izeja.
Filtrējiet virkņu sarakstu, izmantojot lamda izteiksmi
Šis piemērs parāda lamda izteiksme, lai filtrētu datus no virkņu saraksta. Šeit saraksts mainīgais nosaukts meklēšanas vārds tiek izmantots, lai filtrētu saturu no nosaukta teksta mainīgā tekstu. Teksta saturs tiek pārveidots par nosaukto sarakstu, teksta vārds pamatojoties uz vietu, izmantojot sadalīt () metodi. lamda izteiksmē šīs vērtības tiks izlaistas teksta vārds kas pastāv meklēšanas vārds un saglabājiet filtrētās vērtības mainīgajā, pievienojot atstarpi.
# Izsludiniet sarakstu, kurā ir meklēšanas vārdssearch_word = ["Mācīt", "Kods", "Programmēšana", "Emuārs"]
# Definējiet tekstu, kur meklēs vārdu no saraksta
text = "Uzziniet Python programmēšanu no Linux Hint Blog"
# Sadaliet tekstu, pamatojoties uz atstarpi, un saglabājiet vārdus sarakstā
text_word = teksts.sadalīt ()
# Izmantojot lambda izteiksmi, filtrējiet datus
filter_text = ".pievienoties ((filtrs (lambda val: val nav i
n meklēšanas vārds, teksta vārds)))
# Drukājiet tekstu pirms filtrēšanas un pēc filtrēšanas
drukāt ("\ nTeksts pirms filtrēšanas: \ n", teksts)
drukāt ("Teksts pēc filtrēšanas: \ n", filter_text)
Izeja:
Palaidiet skriptu. Pēc skripta palaišanas parādīsies šāda izeja.
Filtrējiet virkņu sarakstu, izmantojot filter () metodi
filtrs () metode pieņem divus parametrus. Pirmajam parametram tiek piešķirts funkcijas nosaukums vai Nav un otrais parametrs kā vērtības ņem saraksta mainīgā nosaukumu. filtrs () metode glabā šos datus no saraksta, ja tie atgriežas kā patiesi, pretējā gadījumā datus izmet. Šeit, Nav tiek dota kā pirmā parametra vērtība. Visas vērtības bez nepatiesa tiks izgūti no saraksta kā filtrēti dati.
# Deklarēt jauktu datu sarakstulistData = ['Sveiki', 200, 1, 'Pasaule', Viltus, Patiesi, '0']
# Zvanu filtra () metode ar None un sarakstu
filteredData = filtrs (Nav, listData)
# Pēc datu filtrēšanas izdrukājiet sarakstu
drukāt ('Saraksts pēc filtrēšanas:')
par val filtrētajos datos:
druka (val)
Izeja:
Palaidiet skriptu. Sarakstā ir tikai viena nepatiesa vērtība, kas tiks izlaista filtrētajos datos. Pēc skripta palaišanas parādīsies šāda izeja.
Secinājums:
Filtrēšana ir noderīga, ja jums ir jāmeklē un jāatgūst noteiktas vērtības no saraksta. Es ceru, ka iepriekš minētie piemēri palīdzēs lasītājiem izprast datu filtrēšanas veidus no virkņu saraksta.