Piton

Kako filtrirati popis nizova u Pythonu

Kako filtrirati popis nizova u Pythonu
Python koristi tip podataka popisa za pohranu više podataka u sekvencijalni indeks. Djeluje poput brojčanog niza drugih programskih jezika. metoda filter () vrlo je korisna metoda Pythona. Jedna ili više vrijednosti podataka mogu se filtrirati iz bilo kojeg niza ili popisa ili rječnika u Pythonu uporabom metode filter ().  Filtrira podatke na temelju bilo kojeg određenog stanja. Pohranjuje podatke kada uvjet vrati true i odbacuje podatke kada vraća false. Kako se niz podataka na popisu može filtrirati u Pythonu, prikazano je u ovom članku pomoću različitih primjera. Za testiranje primjera ovog članka morate koristiti Python 3+.

Filtrirajte popis niza pomoću drugog popisa

Ovaj primjer pokazuje kako se podaci na popisu niza mogu filtrirati bez ikakve metode. Popis niza ovdje se filtrira pomoću drugog popisa. Ovdje su dvije varijable popisa deklarirane s imenom popis1 i popis2. Vrijednosti popis2 filtrira se pomoću vrijednosti popis1. Skripta će odgovarati prvoj riječi svake vrijednosti popis2 s vrijednostima popis1 i ispiši one vrijednosti koje ne postoje u popis1.

# Deklarirajte dvije varijable popisa
list1 = ['Perl', 'PHP', 'Java', 'ASP']
list2 = ['JavaScript je skriptni jezik na strani klijenta',
'PHP je skriptni jezik na poslužitelju',
'Java je programski jezik',
'Bash je skriptni jezik']
 
# Filtrirajte drugi popis na temelju prvog popisa
filter_data = [x za x na popisu2 ako
sve (y nije u x za y na popisu1)]
 
# Ispis podataka s popisa prije filtra i nakon filtra
print ("Sadržaj prvog popisa:", list1)
print ("Sadržaj drugog popisa:", list2)
print ("Sadržaj drugog popisa nakon filtra:", filter_data)

Izlaz:

Pokrenite skriptu. Ovdje, popis1 ne sadrži riječ 'Bash'. Izlaz će sadržavati samo jednu vrijednost od popis2 to je 'Bash je skriptni jezik '.

Filtrirajte popis niza pomoću drugog popisa i prilagođene funkcije

Ovaj primjer pokazuje kako se popis niza može filtrirati pomoću drugog popisa i funkcije prilagođenog filtra. Skripta sadrži dvije varijable popisa pod nazivom list1 i list2. Funkcija prilagođenog filtra otkrit će zajedničke vrijednosti obje varijable popisa.

# Deklarirajte dvije varijable popisa
popis1 = ['90', '67', '34', '55', '12', '87', '32']
popis2 = ['9', '90', '38', '45', '12', '20']
 
# Objavi funkciju za filtriranje podataka s prvog popisa
def Filter (popis1, popis2):
return [n za n u listi1 ako
bilo koji (m u n za m na popisu2)]
 
# Ispišite podatke s popisa prije filtra i nakon filtra
ispis ("Sadržaj popisa1:", popis1)
ispis ("Sadržaj popisa2:", popis2)
ispis ("Podaci nakon filtra", Filter (popis1, popis2))

Izlaz:

Pokrenite skriptu. U obje varijable popisa postoji 90 i 12 vrijednosti. Sljedeći će se izlaz generirati nakon pokretanja skripte.

Filtrirajte popis niza pomoću regularnog izraza

Popis se filtrira pomoću svi() i bilo koji () metode u prethodna dva primjera. U ovom se primjeru koristi regularni izraz za filtriranje podataka s popisa. Regularni izraz je obrazac pomoću kojeg se mogu pretraživati ​​ili podudarati bilo koji podaci. 'ponovno' modul se koristi u pythonu za primjenu regularnog izraza u skripti. Ovdje se objavljuje popis s kodovima predmeta. Regularni izraz koristi se za filtriranje onih kodova predmeta koji počinju s riječju, 'CSE'. '^Simbol 'koristi se u uzorcima regularnih izraza za pretraživanje na početku teksta.

# Uvezite modul re za upotrebu regularnog izraza
uvoz re
 
# Proglasite da popis sadrži šifru predmeta
sublist = ['CSE-407', 'PHY-101', 'CSE-101', 'ENG-102', 'MAT-202']
# Proglasite funkciju filtra
def filtar (datalist):
# Pretražujte podatke na temelju regularnog izraza na popisu
return [val za val u datalistu
ako re.traži (r '^ CSE', val)]
# Ispišite podatke filtra
ispis (Filtriranje (popis))

Izlaz:

Pokrenite skriptu. sublist varijabla sadrži dvije vrijednosti koje počinju s 'CSE'. Sljedeći će se izlaz pojaviti nakon pokretanja skripte.

Filtrirajte popis niza pomoću lamda izraza

Ovaj primjer pokazuje upotrebu lamda izraz za filtriranje podataka s popisa nizova. Ovdje je navedena varijabla popisa search_word koristi se za filtriranje sadržaja iz tekstualne varijable s imenom tekst. Sadržaj teksta pretvara se u popis s imenom, text_word na temelju prostora pomoću podjela() metoda. lamda izraz će izostaviti te vrijednosti iz text_word koji postoje u search_word i filtrirane vrijednosti pohranite u varijablu dodavanjem razmaka.

# Proglasite popis koji sadrži riječ za pretraživanje
search_word = ["Podučavati", "Kod", "Programiranje", "Blog"]
# Definirajte tekst u kojem će riječ s popisa pretraživati
text = "Naučite programiranje na Pythonu s bloga Linux Hint"
# Podijelite tekst na temelju prostora i pohranite riječi na popis
text_word = tekst.podjela()
# Korištenjem lambda izraza filtrirajte podatke
filter_text = ".join ((filter (lambda val: val ne i
n search_word, text_word)))
# Ispis teksta prije filtriranja i nakon filtriranja
print ("\ nTekst prije filtriranja: \ n", tekst)
print ("Tekst nakon filtriranja: \ n", filter_text)

Izlaz:

Pokrenite skriptu. Sljedeći će se izlaz pojaviti nakon pokretanja skripte.

Filtrirajte popis nizova metodom filter ()

filtar() metoda prihvaća dva parametra. Prvi parametar uzima ime funkcije ili Nijedna a drugi parametar uzima vrijednost varijable popisa kao vrijednosti. filtar() metoda pohranjuje te podatke s popisa ako vrati true, u suprotnom podatke odbacuje. Ovdje, Nijedna daje se kao prva vrijednost parametra. Sve vrijednosti bez lažno bit će dohvaćeni s popisa kao filtrirani podaci.

# Deklarirajte popis mix podataka
listData = ['Pozdrav', 200, 1, 'Svijet', Netačno, Tačno, '0']
 
# Pozovite metodu filtra () s None i popisom
filteredData = filter (Nijedan, listData)
 
# Ispišite popis nakon filtriranja podataka
print ('Popis nakon filtriranja:')
za val u filtriranim podacima:
ispis (val)

Izlaz:

Pokrenite skriptu. Popis sadrži samo jednu lažnu vrijednost koja će biti izostavljena u filtriranim podacima. Sljedeći će se izlaz pojaviti nakon pokretanja skripte.

Zaključak:

Filtriranje je korisno kada trebate pretraživati ​​i dohvatiti određene vrijednosti s popisa. Nadam se da će gornji primjeri pomoći čitateljima da razumiju načine filtriranja podataka s popisa nizova.

Kako prikazati OSD prekrivač u aplikacijama i igrama na cijelom zaslonu za Linux
Igranje igara preko cijelog zaslona ili upotreba aplikacija u režimu preko cijelog zaslona bez ometanja može vas odsjeći od relevantnih informacija o ...
Top 5 karata za hvatanje igara
Svi smo vidjeli i voljeli streaming reprodukcije na YouTubeu. PewDiePie, Jakesepticye i Markiplier samo su neki od najboljih igrača koji su zaradili m...
Kako razviti igru ​​na Linuxu
Prije deset godina malo je Linux korisnika predviđalo da će njihov omiljeni operativni sustav jednog dana biti popularna platforma za igranje komercij...