Python

Kuinka suodattaa luettelo merkkijonoista Pythonissa

Kuinka suodattaa luettelo merkkijonoista Pythonissa
Python käyttää luettelotietotyyppiä tallentaakseen useita tietoja peräkkäiseen hakemistoon. Se toimii kuin numeerinen joukko muita ohjelmointikieliä. filter () -menetelmä on erittäin hyödyllinen menetelmä Pythonissa. Yksi tai useampi data-arvo voidaan suodattaa mistä tahansa merkkijonosta, luettelosta tai sanakirjasta Pythonissa käyttämällä filter () -menetelmää.  Se suodattaa tiedot minkä tahansa tietyn ehdon perusteella. Se tallentaa tietoja, kun ehto palauttaa tosi ja hylkää tiedot, kun palauttaa epätosi. Kuinka luettelon merkkijonotiedot voidaan suodattaa Pythonissa, näkyy tässä artikkelissa käyttämällä erilaisia ​​esimerkkejä. Tämän artikkelin esimerkkien testaamiseen on käytettävä Python 3+ -sovellusta.

Suodata merkkijonoluettelo käyttämällä toista luetteloa

Tämä esimerkki osoittaa, kuinka merkkijonoluettelon tiedot voidaan suodattaa käyttämättä mitään menetelmää. Merkkijonoluettelo suodatetaan tähän käyttämällä toista luetteloa. Tässä ilmoitetaan kaksi luettelomuuttujaa nimen kanssa luettelo 1 ja luettelo 2. Arvot luettelo 2 suodatetaan käyttämällä arvoja luettelo 1. Komentosarja vastaa kunkin arvon ensimmäistä sanaa luettelo 2 arvojen kanssa luettelo 1 ja tulosta arvot, joita ei ole olemassa luettelo 1.

# Ilmoita kaksi luettelomuuttujaa
list1 = ['Perl', 'PHP', 'Java', 'ASP']
list2 = ['JavaScript on asiakaspuolen komentosarjakieli',
'PHP on palvelinpuolen komentosarjakieli',
'Java on ohjelmointikieli',
'Bash on komentosarjakieli']
 
# Suodata toinen luettelo ensimmäisen luettelon perusteella
filter_data = [x x: lle x luettelossa2, jos
kaikki (y ei x: ssä, kun y on luettelossa1)]
 
# Tulosta luettelotiedot ennen suodatinta ja suodattimen jälkeen
tulosta ("Ensimmäisen luettelon sisältö:", luettelo1)
tulosta ("Toisen luettelon sisältö:", luettelo2)
tulosta ("Toisen luettelon sisältö suodattimen jälkeen:", filter_data)

Tuotos:

Suorita komentosarja. Tässä, luettelo 1 ei sisällä sanaa ''Lyödä'. Tulos sisältää vain yhden arvon kohteesta luettelo 2 tuo on 'Bash on komentosarjakieli '.

Suodata merkkijonoluettelo käyttämällä toista luetteloa ja mukautettua toimintoa

Tämä esimerkki osoittaa, kuinka merkkijonoluettelo voidaan suodattaa käyttämällä toista luetteloa ja mukautettua suodatintoimintoa. Komentosarja sisältää kaksi luettelomuuttujaa nimeltä list1 ja list2. Mukautettu suodatintoiminto selvittää molempien luettelomuuttujien yhteiset arvot.

# Ilmoita kaksi luettelomuuttujaa
list1 = ['90', '67', '34', '55', '12', '87', '32']
list2 = ['9', '90', '38', '45', '12', '20']
 
# Ilmoita funktio suodattaa tiedot ensimmäisestä luettelosta
def Suodatin (luettelo1, luettelo2):
palauta [n n: lle luettelossa1, jos
mikä tahansa (m muodossa n, m luettelossa 2)]
 
# Tulosta luettelotiedot ennen suodatinta ja suodattimen jälkeen
tulosta ("Luettelon1 sisältö:", luettelo1)
tulosta ("luettelon2 sisältö:", luettelo2)
tulosta ("Tiedot suodattimen jälkeen", Suodatin (luettelo1, luettelo2))

Tuotos:

Suorita komentosarja. Kummassakin luettelomuuttujassa on 90 ja 12 arvoa. Seuraava lähtö luodaan komentosarjan suorittamisen jälkeen.

Suodata merkkijonoluettelo säännöllisen lausekkeen avulla

Luettelo suodatetaan käyttämällä kaikki() ja minkä tahansa() kahdessa edellisessä esimerkissä. Säännöllistä lauseketta käytetään tässä esimerkissä tietojen suodattamiseksi luettelosta. Säännöllinen lauseke on malli, jolla mitä tahansa tietoa voidaan hakea tai sovittaa yhteen. "uudelleen" moduulia käytetään pythonissa säännöllisen lausekkeen soveltamiseen komentosarjaan. Tässä ilmoitetaan luettelo aihekoodeilla. Säännöllistä lauseketta käytetään suodattamaan sanat alkavat aihekoodit 'Täsmähakukone'. '^'-symbolia käytetään säännöllisen lausekkeen kuvioissa etsimään tekstin alusta.

# Tuo uudelleen moduuli käyttääksesi säännöllistä lauseketta
tuoda uudelleen
 
# Ilmoita, että luettelo sisältää aihekoodin
alaluettelo = ['CSE-407', 'PHY-101', 'CSE-101', 'ENG-102', 'MAT-202']
# Ilmoita suodatintoiminto
def-suodatin (datalisti):
# Hae tietoja luettelon säännöllisen lausekkeen perusteella
paluu [val for val datalistissa
jos uudelleen.haku (r '^ CSE', val)]
# Tulosta suodatintiedot
tulosta (Suodatin (alaluettelo))

Tuotos:

Suorita komentosarja. alaluettelo muuttuja sisältää kaksi arvoa, jotka alkavatTäsmähakukone'. Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.

Suodata merkkijonoluettelo käyttämällä lamda-lauseketta

Tämä esimerkki osoittaa lamda lauseke suodattaa tietoja merkkijonoluettelosta. Tässä luettelomuuttuja nimeltä hakusana käytetään suodattamaan sisältöä tekstimuuttujasta nimeltä teksti. Tekstin sisältö muunnetaan nimelliseksi luetteloksi, text_word perustuu tilaan käyttämällä jakaa() menetelmä. lamda lauseke jättää nämä arvot pois text_word jotka ovat olemassa hakusana ja tallenna suodatetut arvot muuttujaan lisäämällä tilaa.

# Ilmoita luettelo, joka sisältää hakusanan
search_word = ["Teach", "Code", "Programming", "Blogi"]
# Määritä teksti, josta luettelossa oleva sana etsii
text = "Opi Python-ohjelmointia Linux-vihjeblogista"
# Jaa teksti välilyönnin perusteella ja tallenna sanat luetteloon
text_word = teksti.jakaa()
# Suodata tiedot lambda-lausekkeen avulla
filter_text = ".liity ((suodatin (lambda val: val ei i
n hakusana, tekstisana)))
# Tulosta teksti ennen suodatusta ja suodatuksen jälkeen
tulosta ("\ nTeksti ennen suodatusta: \ n", teksti)
tulosta ("Teksti suodatuksen jälkeen: \ n", suodatin_teksti)

Tuotos:

Suorita komentosarja. Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.

Suodata merkkijonoluettelo filter () -menetelmällä

suodattaa() menetelmä hyväksyy kaksi parametria. Ensimmäinen parametri ottaa funktion nimen tai Ei mitään ja toinen parametri ottaa luettelomuuttujan nimen arvoiksi. suodattaa() menetelmä tallentaa nämä tiedot luettelosta, jos se palauttaa tosi, muuten se hylkää tiedot. Tässä, Ei mitään annetaan ensimmäisenä parametriarvona. Kaikki arvot ilman väärä haetaan luettelosta suodatettuna datana.

# Ilmoita luettelo sekoitetiedoista
listData = ['Hei', 200, 1, 'World', False, True, '0']
 
# Soittosuodatin () -menetelmä Ei mitään ja luettelo
filteredData = suodatin (Ei mitään, listData)
 
# Tulosta luettelo suodatettuasi tiedot
tulosta ('Luettelo suodatuksen jälkeen:')
for val in filteredData:
tulosta (val)

Tuotos:

Suorita komentosarja. Luettelossa on vain yksi väärä arvo, joka jätetään pois suodatetuista tiedoista. Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.

Päätelmä:

Suodatuksesta on hyötyä, kun haluat etsiä ja hakea tiettyjä arvoja luettelosta. Toivon, että yllä olevat esimerkit auttavat lukijoita ymmärtämään tapoja suodattaa tietoja merkkijonoluettelosta.

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...
How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...
Vulkan for Linux Users
With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But...