Python

Ako filtrovať zoznam reťazcov v Pythone

Ako filtrovať zoznam reťazcov v Pythone
Python používa typ údajov typu list 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 jazyku Python. Jednu alebo viac dátových hodnôt je možné filtrovať z ľubovoľného reťazca, zoznamu alebo slovníka v Pythone pomocou metódy filter ().  Filtruje údaje na základe konkrétnych podmienok. Ukladá údaje, keď podmienka vráti hodnotu true, a zahodí údaje, keď vráti hodnotu false. Ako je možné filtrovať údaje reťazca v zozname v jazyku Python, sa v tomto článku dozviete na rôznych príkladoch. 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 sa deklarujú dve premenné zoznamu s názvom zoznam1 a zoznam2. Hodnoty zoznam2 sa filtruje pomocou hodnôt zoznam1. Skript sa bude zhodovať s prvým slovom každej hodnoty zoznam2 s hodnotami zoznam1 a vytlačiť tie hodnoty, ktoré neexistujú v zoznam1.

# Deklarujte dve premenné zoznamu
list1 = ['Perl', 'PHP', 'Java', 'ASP']
list2 = ['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 na základe prvého zoznamu
filter_data = [x pre x v zozname2, ak
all (y not in x for y in list1)]
 
# Vytlačiť údaje zo zoznamu pred filtrom a po filtrácii
print ("Obsah prvého zoznamu:", zoznam1)
print ("Obsah druhého zoznamu:", zoznam2)
print ("Obsah druhého zoznamu po filtri:", filter_data)

Výkon:

Spustite skript. Tu, zoznam1 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í bežné hodnoty oboch premenných zoznamu.

# Deklarujte dve premenné zoznamu
list1 = ['90', '67', '34', '55', '12', '87', '32']
list2 = ['9', '90', '38', '45', '12', '20']
 
# Deklarujte funkciu filtrovania údajov z prvého zoznamu
def Filter (zoznam1, zoznam2):
návrat [n pre n v zozname1, ak
ľubovoľný (m v n pre m v zozname2)]
 
# Vytlačte údaje zo zoznamu pred filtrom a po filtrácii
print ("Obsah zoznamu1:", zoznam1)
print ("Obsah zoznamu2:", zoznam2)
print ("Údaje za filtrom", Filter (zoznam1, zoznam2))

Výkon:

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

Filtrujte zoznam reťazcov pomocou regulárneho výrazu

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

# Importujte nový modul, aby ste mohli používať regulárny výraz
import re
 
# Deklarujte, že zoznam obsahuje kód predmetu
sublist = ['CSE-407', 'PHY-101', 'CSE-101', 'ENG-102', 'MAT-202']
# Deklarujte funkciu filtra
def Filter (datalist):
# Vyhľadať údaje na základe regulárneho výrazu v zozname
návrat [val pre val v datalist
ak re.hľadať (r '^ CSE', val)]
# Vytlačte údaje filtra
tlačiť (filter (podzoznam))

Výkon:

Spustite skript. podzoznam 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 uvedená premenná zoznamu hľadané_slovo sa používa na filtrovanie obsahu z textovej premennej s názvom text. Obsah textu sa prevedie do zoznamu s názvom, textové slovo založené na priestore pomocou split () metóda. lamda výraz vynechá tieto hodnoty z textové slovo ktoré existujú v hľadané_slovo a uložte filtrované hodnoty do premennej pridaním medzery.

# Deklarujte zoznam, ktorý obsahuje hľadané slovo
search_word = ["Teach", "Code", "Programming", "Blog"]
# Definujte text, v ktorom sa bude hľadať slovo zo zoznamu
text = "Naučte sa programovanie v Pythone z blogu s tipom na Linux"
# Rozdeľte text na základe medzery a uložte slová do zoznamu
text_slovo = text.split ()
# Pomocou výrazu lambda filtrujte údaje
filter_text = ".pripojiť sa ((filter (lambda val: val nie i
n hľadané_slovo, textové_slovo)))
# Vytlačte text pred filtrovaním a po filtrovaní
print ("\ nText pred filtrovaním: \ n", text)
print ("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 Žiadne a druhý parameter berie názov premennej zoznamu ako hodnoty. filter () Metóda uloží tieto údaje zo zoznamu, ak vráti hodnotu true, inak údaje zahodí. Tu, Žiadne sa uvádza ako prvá hodnota parametra. Všetky hodnoty bez nepravdivé budú načítané zo zoznamu ako filtrované údaje.

# Deklarujte zoznam údajov mixu
listData = ['Hello', 200, 1, 'World', False, True, '0']
 
# Metóda call filter () s None a zoznamom
filtrované údaje = filter (žiadne, zoznamDáta)
 
# Vytlačte zoznam po filtrovaní údajov
print ('Zoznam po filtrovaní:')
pre val vo filtrovaných dátach:
tlač (val)

Výkon:

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

Záver:

Filtrovanie je užitočné, keď potrebujete vyhľadať a načítať konkrétne hodnoty zo zoznamu. Dúfam, že vyššie uvedené príklady pomôžu čitateľom pochopiť spôsoby filtrovania údajov zo zoznamu reťazcov.

WinMouse vám umožňuje prispôsobiť a vylepšiť pohyb ukazovateľa myši na počítači so systémom Windows
Ak chcete vylepšiť predvolené funkcie kurzora myši, použite freeware WinMouse. Pridáva ďalšie funkcie, ktoré vám pomôžu vyťažiť zo svojej skromnej myš...
Tlačidlo ľavého kliknutia myši nefunguje v systéme Windows 10
Ak používate samostatnú myš s prenosným počítačom alebo stolovým počítačom, ale nefunguje ľavé tlačidlo myši vo Windows 10/8/7 z nejakého dôvodu uvádz...
Kurzor pri písaní v systéme Windows 10 skáče alebo sa pohybuje náhodne
Ak zistíte, že kurzor myši skáče alebo sa pohybuje sám, automaticky a náhodne pri písaní na notebooku alebo počítači so systémom Windows, niektoré z t...