Come filtrare un elenco di stringhe in Python

How Filter List Strings Python

Python usa il tipo di dati dell'elenco per archiviare più dati in un indice sequenziale. Funziona come un array numerico 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, 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 true e scarta i dati quando restituisce false. In questo articolo viene mostrato come è possibile filtrare i dati della stringa in un elenco in Python utilizzando diversi esempi. Devi usare Python 3+ per testare gli esempi di questo articolo.

Filtra un elenco di stringhe usando un altro elenco

Questo esempio mostra come è possibile filtrare i dati in un elenco di stringhe senza utilizzare alcun metodo. L'elenco della stringa viene filtrato qui utilizzando un altro elenco. Qui, due variabili di lista sono dichiarate con il nome list1 e lista2 . I valori di lista2 viene filtrato utilizzando i valori di list1 . Lo script corrisponderà alla prima parola di ogni valore di lista2 con i valori di list1 e stampa quei valori che non esistono in list1 .



# Dichiara due variabili di lista
list1= ['Perla', 'PHP', 'Giava', 'ASP']
lista2= ['JavaScript è un linguaggio di scripting lato client',
'PHP è un linguaggio di scripting lato server',
'Java è un linguaggio di programmazione',
'Bash è un linguaggio di scripting']

# Filtra la seconda lista in base alla prima
filter_data= [XperXinlista2Se
Tutti(enon inXpereinlist1)]

# Stampa i dati dell'elenco prima del filtro e dopo il filtro
Stampa('Il contenuto del primo elenco:',list1)
Stampa('Il contenuto del secondo elenco:',lista2)
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à un solo valore da lista2 questo è ' Bash è un linguaggio di scripting' .



Filtra un elenco di stringhe utilizzando un altro elenco e una funzione personalizzata

Questo esempio mostra come è possibile filtrare un elenco di stringhe utilizzando un altro elenco e la funzione di filtro personalizzata. Lo script contiene due variabili di lista denominate list1 e list2. La funzione di filtro personalizzato scoprirà i valori comuni di entrambe le variabili dell'elenco.

# Dichiara due variabili di lista
list1= ['90', '67', '3. 4', '55', '12', '87', '32']
lista2= ['9', '90', '38', 'Quattro cinque', '12', 'venti']

# Dichiara una funzione per filtrare i dati dalla prima lista
defFiltro(list1,lista2):
Restituzione [nperninlist1Se
qualunque(minnperminlista2)]

# Stampa i dati della lista prima del filtro e dopo il filtro
Stampa('Il contenuto della lista1:',list1)
Stampa('Il contenuto della lista2:',lista2)
Stampa('I dati dopo il filtro',Filtro(list1,lista2))

Produzione:



Esegui lo script. I valori 90 e 12 esistono in entrambe le variabili di elenco. Il seguente output verrà generato dopo l'esecuzione dello script.

Filtra un elenco di stringhe usando l'espressione regolare

L'elenco viene filtrato utilizzando Tutti() e qualunque() metodi nei due esempi precedenti. In questo esempio viene utilizzata un'espressione regolare per filtrare i dati da un elenco. Un'espressione regolare è un modello in base al quale è possibile cercare o abbinare qualsiasi dato. 'Rif' il modulo viene utilizzato in python per applicare l'espressione regolare nello script. Qui viene dichiarato un elenco con codici soggetto. Un'espressione regolare viene utilizzata per filtrare quei codici soggetto che iniziano con la parola, ' CSE '. ' ^ Il simbolo ' viene utilizzato nei modelli di espressioni regolari per cercare all'inizio del testo.

# Importa il modulo re per usare l'espressione regolare
importare Rif

# Dichiara che l'elenco contiene il codice dell'oggetto
sottolista= ['CSE-407', 'PHY-101', 'CSE-101', 'ITA-102', 'MAT-202']

# Dichiara la funzione di filtro
defFiltro(lista dati):
# Cerca i dati in base all'espressione regolare nell'elenco
Restituzione [oreperoreinlista dati
Se Rif.ricerca(R'^ CSE',ore)]

# Stampa i dati del filtro
Stampa(Filtro(sottolista))

Produzione:

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

Filtra un elenco di stringhe usando l'espressione lamda

Questo esempio mostra l'uso di lamda espressione per filtrare i dati da un elenco di stringhe. Qui, una variabile di lista denominata search_word è usato per filtrare il contenuto da una variabile di testo denominata testo . Il contenuto del testo viene convertito in un elenco denominato, text_word in base allo spazio usando diviso() metodo. lamda espressione ometterà quei valori da text_word che esistono in search_word e memorizzare i valori filtrati in una variabile aggiungendo spazio.

# Dichiara un elenco che contiene la parola di ricerca
search_word= ['Insegnare', 'Codice', 'Programmazione', 'Blog']

# Definisci il testo in cui cercherà la parola dall'elenco
testo= 'Impara la programmazione in Python dal blog di suggerimenti di Linux'

# Dividi il testo in base allo spazio e memorizza le parole in un elenco
text_word=testo.diviso()

# Usando l'espressione lambda filtra i dati
filter_text= ''.aderire((filtro(lambdaval: valnonio
n search_word,text_word)))

# Stampa il testo prima e dopo il filtraggio
Stampa(' Testo prima del filtraggio: ',testo)
Stampa('Testo dopo il filtraggio: ',filter_text)

Produzione:

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

Filtra un elenco di stringhe usando il metodo filter()

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

# Dichiara un elenco di dati di mix
listaDati= ['Ciao', 200, 1, 'Mondo', falso, Vero, '0']

# Chiama il metodo filter() con None e un elenco
Dati filtrati= filtro(Nessuno,listaDati)

# Stampa l'elenco dopo aver filtrato i dati
Stampa('L'elenco dopo il filtraggio:')
peroreinDati filtrati:
Stampa(ore)

Produzione:

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

Conclusione:

Il filtraggio è utile quando è necessario cercare e recuperare valori particolari da un elenco. Spero che gli esempi precedenti aiutino i lettori a comprendere i modi per filtrare i dati da un elenco di stringhe.