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é zoznamuzoznam 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 reimport 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é slovosearch_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átlistData= ['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.