Python

Kuidas Pythonis stringide loendit filtreerida

Kuidas Pythonis stringide loendit filtreerida
Python kasutab loendi andmetüüpi, et järjestikusesse indeksisse salvestada mitu teavet. See töötab nagu teiste programmeerimiskeelte arvuline massiiv. filter () meetod on Pythoni väga kasulik meetod. Ühte või mitut andmeväärtust saab filtreerida Pythoni mis tahes stringist, loendist või sõnastikust, kasutades meetodit filter ().  See filtreerib andmeid mis tahes konkreetse tingimuse alusel. See salvestab andmed, kui tingimus tagastab tõene, ja loobub, kui tagastab vale. Kuidas loendis olevaid stringiandmeid Pythonis filtreerida, on selles artiklis näidatud erinevate näidete abil. Selle artikli näidete testimiseks peate kasutama Python 3+.

Filtreerige stringi loend teise loendi abil

See näide näitab, kuidas stringide loendis olevaid andmeid saab filtreerida ilma ühtegi meetodit kasutamata. Stringi loend filtreeritakse siin teise loendi abil. Siin deklareeritakse nimega kaks loendimuutujat nimekiri1 ja nimekiri2. Väärtused nimekiri2 filtreeritakse, kasutades väärtusi nimekiri1. Skript sobib iga väärtuse esimese sõnaga nimekiri2 väärtustega nimekiri1 ja printige need väärtused, mida pole olemas nimekiri1.

# Deklareerige kaks loendimuutujat
list1 = ['Perl', 'PHP', 'Java', 'ASP']
list2 = ['JavaScript on kliendipoolne skriptikeel',
'PHP on serveripoolne skriptikeel',
"Java on programmeerimiskeel",
'Bash on skriptikeel']
 
# Filtreerige teine ​​loend esimese loendi põhjal
filter_data = [x x-i jaoks loendis2, kui
kõik (y pole x-s, kui loendis1 on y)]
 
# Printige loendi andmed enne filtrit ja pärast filtrit
print ("Esimese loendi sisu:", loend1)
print ("Teise loendi sisu:", loend2)
print ("Teise loendi sisu pärast filtrit:", filter_andmed)

Väljund:

Käivitage skript. Siin, nimekiri1 ei sisalda sõna "Bash". Väljund sisaldab ainult ühte väärtust nimekiri2 see on 'Bash on skriptikeel ".

Filtreerige stringi loend teise loendi ja kohandatud funktsiooni abil

See näide näitab, kuidas stringi loendit saab filtreerida teise loendi ja kohandatud filtri funktsiooni abil. Skript sisaldab kahte loendi muutujat nimega list1 ja list2. Kohandatud filtri funktsioon saab teada mõlema loendimuutuja ühised väärtused.

# Deklareerige kaks loendimuutujat
list1 = ['90', '67', '34', '55', '12', '87', '32']
list2 = ['9', '90', '38', '45', '12', '20']
 
# Esimesest loendist andmete filtreerimiseks kuulutage funktsioon
def Filter (loend1, loend2):
tagastama [n n loendi1 korral, kui
ükskõik milline (m n-s m-i loendis2)]
 
# Printige loendi andmed enne filtrit ja pärast filtrit
print ("Loendi1 sisu:", loend1)
print ("Loendi2 sisu:", loend2)
print ("Andmed pärast filtrit", Filter (loend1, loend2))

Väljund:

Käivitage skript. Mõlemas loendi muutujas eksisteerib 90 ja 12 väärtust. Pärast skripti käivitamist genereeritakse järgmine väljund.

Filtreerige stringide loend regulaaravaldise abil

Loend filtreeritakse kasutades kõik () ja ükskõik milline () meetodid kahes eelmises näites. Selles näites kasutatakse regulaaravaldist andmete loendist filtreerimiseks. Tavaväljend on muster, mille abil saab mis tahes andmeid otsida või omavahel sobitada. "re" moodulit kasutatakse pythonis regulaaravaldise rakendamiseks skriptis. Siin deklareeritakse loend koos teemakoodidega. Regulaaravaldist kasutatakse sõnaga algavate teemakoodide filtreerimiseks. 'CSE". "^sümbolit kasutatakse regulaaravaldiste mustrites teksti alguses otsimiseks.

# Regulaaravaldise kasutamiseks impordi uuesti moodul
impordi re
 
# Deklareeri, et loend sisaldab teemakoodi
alamloend = ['CSE-407', 'PHY-101', 'CSE-101', 'ENG-102', 'MAT-202']
# Deklareerige filtreerimisfunktsioon
deffilter (datalist):
# Otsinguandmed põhinevad loendis oleval tavaväljendil
tagasi [val for val datalistis
kui uuesti.otsing (r '^ CSE', val)]
# Printige filtri andmed
print (Filter (alamloend))

Väljund:

Käivitage skript. alamloend muutuja sisaldab kahte väärtust, mis algavad tähega 'CSE". Pärast skripti käivitamist ilmub järgmine väljund.

Filtreerige stringide loend lamda avaldise abil

See näide näitab lamda avaldis stringide loendist andmete filtreerimiseks. Siin loendimuutuja nimega otsisõna kasutatakse sisu muutmiseks nimega tekstimuutujast teksti. Teksti sisu teisendatakse nimega loendiks, tekstisõna põhineb ruumil, kasutades jagama () meetod. lamda avaldis jätab need väärtused jaotisest välja tekstisõna mis olemas on otsisõna ja salvestage filtreeritud väärtused ruumi lisades muutujasse.

# Kuulutage loend, mis sisaldab otsitavat sõna
search_word = ["Õpeta", "Kood", "Programmeerimine", "Blogi"]
# Määratlege tekst, kust loendis olev sõna otsib
text = "Õpi Pythoni programmeerimist Linuxi vihje blogist"
# Jagage tekst ruumi järgi ja salvestage sõnad loendisse
text_word = tekst.jagama ()
# Filtreerige andmed lambda avaldise abil
filter_text = ".liitu ((filter (lambda val: val mitte i
n otsisõna, tekstisõna)))
# Printige tekst enne filtreerimist ja pärast filtreerimist
print ("\ nTekst enne filtreerimist: \ n", tekst)
print ("Tekst pärast filtreerimist: \ n", filter_text)

Väljund:

Käivitage skript. Pärast skripti käivitamist ilmub järgmine väljund.

Filtreerige stringide loend, kasutades meetodit filter ()

filter () meetod aktsepteerib kahte parameetrit. Esimene parameeter võtab funktsiooni nime või Puudub ja teine ​​parameeter võtab väärtustena loendi muutuja nime. filter () meetod salvestab need andmed loendist, kui need vastavad tõele, vastasel juhul viskab need andmed kõrvale. Siin, Puudub on antud esimese parameetri väärtusena. Kõik väärtused ilma vale leitakse loendist filtreeritud andmetena.

# Deklareerige seguandmete loend
listData = ['Tere', 200, 1, 'World', False, True, '0']
 
# Kõnefiltri () meetod koos ükski ja loendiga
filteredData = filter (Puudub, listData)
 
# Pärast andmete filtreerimist printige loend
print ('Loend pärast filtreerimist:')
val väärtusele filteredData:
print (val)

Väljund:

Käivitage skript. Loend sisaldab ainult ühte valeväärtust, mis filtreeritud andmetes välja jäetakse. Pärast skripti käivitamist ilmub järgmine väljund.

Järeldus:

Filtreerimisest on abi, kui peate otsima ja loendist hankima konkreetseid väärtusi. Loodan, et ülaltoodud näited aitavad lugejal mõista stringide loendist andmete filtreerimise viise.

League of Legendsi installimine Ubuntu 14-le.04
Kui olete League of Legends fänn, siis on see teile võimalus proovida League of Legendsit. Pange tähele, et LOL-i toetab PlayOnLinux, kui olete Linuxi...
Installige uusim OpenRA strateegiamäng Ubuntu Linuxi
OpenRA on tasuta / tasuta reaalajas strateegiamängumootor, mis loob uuesti Westwoodi varased mängud nagu klassikaline Command & Conquer: Red Alert. Ja...
Installige Linuxile uusim Dolphin Emulator for Gamecube & Wii
Dolphini emulaator võimaldab teil mängida valitud Gamecube & Wii mänge Linuxi personaalarvutites (PC). Vabalt saadaval oleva ja avatud lähtekoodiga m...