Python

Kā filtrēt virkņu sarakstu Python

Kā filtrēt virkņu sarakstu Python
Python izmanto saraksta datu tipu, lai vairākus datus glabātu secīgā indeksā. Tas darbojas kā citu programmēšanas valodu skaitliskais masīvs. filter () metode ir ļoti noderīga Python metode. Vienu vai vairākas datu vērtības var filtrēt no jebkuras virknes, saraksta vai vārdnīcas Python, izmantojot metodi filter ().  Tas filtrē datus, pamatojoties uz jebkuru konkrētu stāvokli. Tas saglabā datus, kad nosacījums atgriež patiesu, un izmet datus, ja atgriež nepatiesu. Kā virknes datus sarakstā var filtrēt Python, ir parādīts šajā rakstā, izmantojot dažādus piemērus. Lai pārbaudītu šī raksta piemērus, jums jāizmanto Python 3+.

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īgos
list1 = ['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īgos
saraksts1 = ['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 izteiksmi
importa 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ārds
search_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 sarakstu
listData = ['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.

Kā lietot GameConqueror Cheat Engine Linux
Rakstā ir sniegts ceļvedis par GameConqueror apkrāptu dzinēja izmantošanu Linux. Daudzi lietotāji, kas spēlē spēles operētājsistēmā Windows, bieži izm...
Labākie Linux spēļu konsoles emulatori
Šajā rakstā tiks uzskaitīta populārā Linux spēļu konsoles atdarināšanas programmatūra. Emulācija ir programmatūras saderības slānis, kas atdarina spēļ...
Labākie Linux spēļu draiveri 2021. gadā
Linux operētājsistēma ir gājusi tālu no sākotnējā, vienkāršā uz serveriem balstītā izskata. Šī operētājsistēma pēdējos gados ir ārkārtīgi uzlabojusies...