Ako filtrovať zoznam reťazcov v Pythone

How Filter List Strings Python



Python používa typ údajov zoznamu na ukladanie viacerých údajov do sekvenčného indexu. Funguje to ako numerické pole iných programovacích jazykov. metóda filter () je veľmi užitočná metóda v Pythone. Jednu alebo viac hodnôt údajov je možné filtrovať z ľubovoľného reťazca alebo zoznamu alebo slovníka v Pythone pomocou metódy filter (). Filtruje údaje na základe konkrétnych podmienok. Uloží údaje, ak podmienka vráti hodnotu true, a zahodí údaje, ak vráti hodnotu false. Ako je možné filtrovať reťazcové údaje v zozname v Pythone, je v tomto článku ukázané pomocou rôznych príkladov. Na otestovanie príkladov tohto článku musíte použiť Python 3+.

Filtrujte zoznam reťazcov pomocou iného zoznamu

Tento príklad ukazuje, ako je možné filtrovať údaje v zozname reťazcov bez použitia akejkoľvek metódy. Zoznam reťazcov sa tu filtruje pomocou iného zoznamu. Tu sú s názvom deklarované dve premenné zoznamu zoznam 1 a zoznam2 . Hodnoty zoznam2 sa filtruje pomocou hodnôt zoznam 1 . Skript bude zodpovedať prvému slovu každej hodnoty zoznam2 s hodnotami zoznam 1 a vytlačte hodnoty, ktoré v ňom neexistujú zoznam 1 .







# Deklarujte dve premenné zoznamu
zoznam 1= ['Perl', 'PHP', 'Java', „ASP“]
zoznam2= [„JavaScript je skriptovací jazyk na strane klienta“,
„PHP je skriptovací jazyk na strane servera“,
„Java je programovací jazyk“,
„Bash je skriptovací jazyk“]

# Filtrujte druhý zoznam podľa prvého zoznamu
filter_data= [XpreXvzoznam2keby
všetky(anie vXpreavzoznam 1)]

# Vytlačte údaje zo zoznamu pred filtrom a za filtrom
vytlačiť(„Obsah prvého zoznamu:“,zoznam 1)
vytlačiť(„Obsah druhého zoznamu:“,zoznam2)
vytlačiť(„Obsah druhého zoznamu po filtri:“,filter_data)

Výkon:



Spustite skript. Tu, zoznam 1 neobsahuje slovo „ Bash “. Výstup bude obsahovať iba jednu hodnotu z zoznam2 to je ‘ Bash je skriptovací jazyk ' .







Filtrujte zoznam reťazcov pomocou iného zoznamu a vlastnej funkcie

Tento príklad ukazuje, ako je možné filtrovať zoznam reťazcov pomocou iného zoznamu a funkcie vlastného filtra. Skript obsahuje dve premenné zoznamu s názvom list1 a list2. Funkcia vlastného filtra zistí spoločné hodnoty oboch premenných v zozname.

# Deklarujte dve premenné zoznamu
zoznam 1= ['90', '67', „3. 4“, „55“, '12', '87', '32']
zoznam2= ['9', '90', '38', 'Štyri. Päť', '12', „dvadsať“]

# Deklarujte funkciu na filtrovanie údajov z prvého zoznamu
defFilter(zoznam 1,zoznam2):
vrátiť sa [nprenvzoznam 1keby
akýkoľvek(mvnpremvzoznam2)]

# Vytlačte údaje zo zoznamu pred filtrom a za filtrom
vytlačiť(„Obsah zoznamu1:“,zoznam 1)
vytlačiť(„Obsah zoznamu2:“,zoznam2)
vytlačiť(„Údaje za filtrom“,Filter(zoznam 1,zoznam2))

Výkon:



Spustite skript. V oboch premenných zoznamu existuje 90 a 12 hodnôt. Po spustení skriptu sa vygeneruje nasledujúci výstup.

Filtrujte zoznam reťazcov pomocou regulárnych výrazov

Zoznam je filtrovaný pomocou všetky () a akýkoľvek() metódy v predchádzajúcich dvoch príkladoch. Na filtrovanie údajov zo zoznamu sa v tomto prípade používa regulárny výraz. Regulárny výraz je vzor, ​​podľa ktorého je možné vyhľadávať alebo spájať akékoľvek údaje. 'Re' modul sa v pythone používa na použitie regulárneho výrazu v skripte. Tu je deklarovaný zoznam s kódmi predmetov. Regulárny výraz sa používa na filtrovanie kódov predmetov, ktoré začínajú slovom „ CSE '. ' ^ „Symbol sa používa vo vzoroch regulárnych výrazov na vyhľadávanie na začiatku textu.

# Ak chcete použiť regulárny výraz, importujte modul re
import re

# Vyhláste zoznam, ktorý obsahuje kód predmetu
sublist= [„CSE-407“, „PHY-101“, „CSE-101“, „ENG-102“, „MAT-202“]

# Deklarujte funkciu filtra
defFilter(datalista):
# Hľadajte údaje na základe regulárnych výrazov v zozname
vrátiť sa [hodprehodvdatalista
keby re.Vyhľadávanie(r'^ CSE',hod)]

# Vytlačte údaje filtra
vytlačiť(Filter(sublist))

Výkon:

Spustite skript. sublist premenná obsahuje dve hodnoty, ktoré začínajú na „ CSE “. Po spustení skriptu sa zobrazí nasledujúci výstup.

Filtrujte zoznam reťazcov pomocou výrazu lamda

Tento príklad ukazuje použitie lamda výraz na filtrovanie údajov zo zoznamu reťazcov. Tu je premenná zoznamu s názvom search_word sa používa na filtrovanie obsahu z textovej premennej s názvom text . Obsah textu sa prevedie do zoznamu s názvom, text_word na základe priestoru pomocou rozdeliť () metóda. lamda výraz tieto hodnoty z text_word ktoré existujú v search_word a filtrované hodnoty uložte do premennej pridaním medzery.

# Vyhláste zoznam, ktorý obsahuje hľadané slovo
search_word= ['Učiť', 'Kód', 'Programovanie', 'Blog']

# Definujte text, v ktorom sa bude hľadať slovo zo zoznamu
text= „Naučte sa programovanie v Pythone z blogu Linux Hint Blog“

# Rozdeľte text podľa medzery a uložte slová do zoznamu
text_word=text.rozdeliť()

# Filtrujte údaje pomocou výrazu lambda
filter_text= ''.pridať sa((filter(lambdaval: valniei
n hľadať_slovo,text_word)))

# Vytlačte text pred filtrovaním a po filtrovaní
vytlačiť(' nText pred filtrovaním: n',text)
vytlačiť(„Text po filtrovaní: n',filter_text)

Výkon:

Spustite skript. Po spustení skriptu sa zobrazí nasledujúci výstup.

Filtrujte zoznam reťazcov pomocou metódy filter ()

filter () metóda akceptuje dva parametre. Prvý parameter má názov funkcie alebo Žiadny a druhý parameter berie názov premennej zoznamu ako hodnoty. filter () metóda ukladá tieto údaje zo zoznamu, ak vracia hodnotu true, v opačnom prípade údaje zahodí. Tu, Žiadny je uvedená ako prvá hodnota parametra. Všetky hodnoty bez falošný budú načítané zo zoznamu ako filtrované údaje.

# Vyhláste zoznam mixových dát
listData= ['Ahoj', 200, 1, 'Svet', Falošné, Pravda, '0']

# Metóda call filter () s hodnotou None a zoznamom
filtrované údaje= filter(Žiadny,listData)

# Po filtrácii údajov vytlačte zoznam
vytlačiť(„Zoznam po filtrovaní:“)
prehodvfiltrovanéÚdaje:
vytlačiť(hod)

Výkon:

Spustite skript. Zoznam obsahuje iba jednu falošnú hodnotu, ktorá bude vo filtrovaných údajoch vynechaná. Po spustení skriptu sa zobrazí nasledujúci výstup.

Záver:

Filtrovanie je nápomocné vtedy, ak potrebujete vyhľadať a získať konkrétne hodnoty zo zoznamu. Dúfam, že vyššie uvedené príklady pomôžu čitateľom porozumieť spôsobom filtrovania údajov zo zoznamu reťazcov.