Come filtrare un elenco di stringhe in Python

Come filtrare un elenco di stringhe in Python
Python utilizza il tipo di dati dell'elenco per archiviare più dati in un indice sequenziale. Funziona come una serie numerica di altri linguaggi di programmazione. Il metodo Filter () è un metodo molto utile di Python. Uno o più valori di dati possono essere filtrati da qualsiasi stringa o elenco o dizionario in Python utilizzando il metodo Filter (). Filtra i dati in base a qualsiasi condizione particolare. Memorizza i dati quando la condizione restituisce i dati veri e scartati quando restituisce false. In che modo i dati di stringa in un elenco possono essere filtrati in Python è mostrato in questo articolo utilizzando diversi esempi. Devi usare Python 3+ per testare gli esempi di questo articolo.

Filtra un elenco di stringa utilizzando un altro elenco

Questo esempio mostra come i dati in un elenco di stringa possono essere filtrati senza utilizzare alcun metodo. L'elenco della stringa viene filtrato qui utilizzando un altro elenco. Qui, due variabili di elenco sono dichiarate con il nome List1 E List2. I valori di List2 viene filtrato usando i valori di List1. Lo script corrisponderà alla prima parola di ogni valore di List2 con i valori di List1 e stampare quei valori che non esistono in List1.

# Dichiarare due variabili di elenco
list1 = ['perl', 'php', 'java', 'asp']
List2 = ['JavaScript è un linguaggio di scripting sul lato client',
'PHP è un linguaggio di scripting sul lato server',
'Java è un linguaggio di programmazione',
"Bash è un linguaggio di scripting"]
# Filtra il secondo elenco in base al primo elenco
filter_data = [x per x in list2 se
tutto (y non in x per y in list1)]
# Dati dell'elenco di stampa prima del filtro e dopo il filtro
Print ("Il contenuto del primo elenco:", List1)
Stampa ("Il contenuto del secondo elenco:", list2)
Stampa ("Il contenuto del secondo elenco dopo il filtro:", filter_data)

Produzione:

Esegui lo script. Qui, List1 non contiene la parola 'Bash'. L'output conterrà solo un valore da List2 questo è 'Bash è un linguaggio di scripting '.

Filtra un elenco di stringa utilizzando un altro elenco e funzione personalizzata

Questo esempio mostra come un elenco di stringa può essere filtrato utilizzando un altro elenco e la funzione di filtro personalizzato. Lo script contiene due variabili di elenco denominate List1 ed List2. La funzione di filtro personalizzato scoprirà i valori comuni di entrambe le variabili dell'elenco.

# Dichiarare due variabili di elenco
list1 = ['90', '67', '34', '55', '12', '87', '32'
List2 = ['9', '90', '38', '45', '12', '20']
# Dichiarare una divertimento per filtrare i dati dal primo elenco
DEF Filter (List1, List2):
restituire [n per n in List1 se
qualsiasi (m in n per m in list2)]
# Stampa i dati dell'elenco prima del filtro e dopo il filtro
Print ("Il contenuto di List1:", List1)
Print ("Il contenuto di List2:", List2)
Print ("The Data After Filter", Filter (List1, List2))

Produzione:

Esegui lo script. I valori 90 e 12 esistono in entrambe le variabili dell'elenco. Il seguente output verrà generato dopo aver eseguito lo script.

Filtra un elenco di stringa usando l'espressione regolare

L'elenco viene filtrato utilizzando Tutto() E Qualunque() Metodi nei due esempi precedenti. Un'espressione regolare viene utilizzata in questo esempio per filtrare i dati da un elenco. Un'espressione regolare è un modello con cui qualsiasi dati può essere cercato o abbinato. 'Rif' Il modulo viene utilizzato in Python per applicare un'espressione regolare nello script. Qui, un elenco è dichiarato con i codici soggetti. Un'espressione regolare viene utilizzata per filtrare quei codici soggetti che iniziano con la parola ",CSE'. '^'Il simbolo è usato nei modelli di espressione regolari per cercare all'inizio del testo.

# Importa il modulo RE per utilizzare l'espressione regolare
importazione re
# Dichiarare l'elenco contiene il codice dell'oggetto
sublist = ['CSE-407', 'Phy-101', 'CSE-101', 'Eng-102', 'Mat-202']
# Dichiara la funzione del filtro
DEF Filter (DataList):
# Dati di ricerca in base all'espressione regolare nell'elenco
restituire [Val per Val in Datalist
se re.Search (r '^cse', val)]
# Stampa i dati del filtro
stampa (filtro (sublist))

Produzione:

Esegui lo script. sublist La variabile contiene due valori che iniziano con 'CSE'. Il seguente output apparirà dopo aver eseguito lo script.

Filtra un elenco di stringa usando l'espressione di lamda

Questo esempio mostra l'uso di Lamda espressione per filtrare i dati da un elenco di stringhe. Qui, una variabile di elenco denominata Search_word viene utilizzato per filtrare il contenuto da una variabile di testo denominata testo. Il contenuto del testo viene convertito in un elenco chiamato, text_word in base allo spazio utilizzando diviso() metodo. Lamda L'espressione ometterà quei valori da text_word che esiste in Search_word e memorizzare i valori filtrati in una variabile aggiungendo spazio.

# Dichiara un elenco che contiene la parola di ricerca
Search_word = ["Teach", "Code", "Programming", "Blog"]
# Definisci il testo in cui la parola dall'elenco cercherà
text = "Impara la programmazione Python dal blog di Linux Hint"
# Dividi il testo in base allo spazio e memorizza le parole in un elenco
text_word = text.diviso()
# Utilizzo dell'espressione Lambda filtrare i dati
filter_text = ".join ((filtro (lambda val: val non in search_word, text_word)))
# Stampa testo prima del filtraggio e dopo il filtro
print ("\ ntext prima di filtrare: \ n", testo)
Print ("Testo dopo il filtro: \ n", filter_text)

Produzione:

Esegui lo script. Il seguente output apparirà dopo aver eseguito lo script.

Filtro un elenco di stringa utilizzando il metodo Filter ()

filtro() Il metodo accetta due parametri. Il primo parametro prende un nome di funzione o Nessuno e il secondo parametro prende il nome della variabile dell'elenco come valori. filtro() Il metodo memorizza tali dati dall'elenco se restituisce vero, altrimenti scarta i dati. Qui, Nessuno è dato come il primo valore del parametro. Tutti i valori senza falso verrà recuperato dall'elenco come dati filtrati.

# Dichiara un elenco di dati di mix
ListData = ['Hello', 200, 1, 'World', False, True, '0']
# Chiama il metodo Filter () con nessuno e un elenco
FiltreDData = Filter (nessuno, ListData)
# Stampa l'elenco dopo aver filtrato i dati
print ('L'elenco dopo il filtro:')
Per val in FilteredData:
Stampa (Val)

Produzione:

Esegui lo script. L'elenco contiene solo un valore falso che verrà omesso nei dati filtrati. Il seguente output apparirà dopo aver eseguito lo script.

Conclusione:

Il filtro è utile quando è necessario cercare e recuperare valori particolari da un elenco. Io, spero, gli esempi di cui sopra aiuteranno i lettori a comprendere i modi per filtrare i dati da un elenco di stringhe.