Piton

Cum se filtrează o listă de șiruri în Python

Cum se filtrează o listă de șiruri în Python
Python folosește tipul de date din listă pentru a stoca mai multe date într-un index secvențial. Funcționează ca o serie numerică de alte limbaje de programare. metoda filter () este o metodă foarte utilă a Python. Una sau mai multe valori de date pot fi filtrate din orice șir sau listă sau dicționar din Python folosind metoda filter ().  Filtrează datele pe baza oricărei condiții particulare. Stochează date când condiția returnează adevărat și aruncă date atunci când returnează fals. Modul în care datele șirului dintr-o listă pot fi filtrate în Python este prezentat în acest articol folosind exemple diferite. Trebuie să utilizați Python 3+ pentru a testa exemplele acestui articol.

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ăutat
search_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 mix
listData = ['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.

Cum se utilizează AutoKey pentru automatizarea jocurilor Linux
AutoKey este un utilitar de automatizare desktop pentru Linux și X11, programat în Python 3, GTK și Qt. Folosind funcțiile sale de scriptare și MACRO,...
Cum se arată FPS Counter în jocurile Linux
Jocurile cu Linux au primit un impuls major când Valve a anunțat suportul Linux pentru clientul Steam și jocurile acestora în 2012. De atunci, multe j...
How to download and Play Sid Meier's Civilization VI on Linux
Introduction to the game Civilization 6 is a modern take on the classic concept introduced in the series of the Age of Empires games. The idea was fai...