Filtra un elenco di stringhe usando un altro elenco
Questo esempio mostra come i dati in un elenco di stringhe possono essere filtrati senza utilizzare alcun metodo. L'elenco della stringa viene filtrato qui utilizzando un altro elenco. Qui vengono dichiarate due variabili di lista 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 listalista1 = ['Perl', 'PHP', 'Java', 'ASP']
list2 = ['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 il secondo elenco in base al primo elenco
filter_data = [x per x in list2 if
all(y non in x per y in lista1)]
# Stampa i dati dell'elenco prima del filtro e dopo il filtro
print("Il contenuto della prima lista:", lista1)
print("Il contenuto della seconda lista:", lista2)
print("Il contenuto della seconda lista dopo filter:", 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 un elenco di stringhe può essere filtrato 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 listalista1 = ['90', '67', '34', '55', '12', '87', '32']
lista2 = ['9', '90', '38', '45', '12', '20']
# Dichiara una funzione per filtrare i dati dalla prima lista
def Filtro(lista1, lista2):
restituisce [n per n in lista1 se
any(m in n for m in list2)]
# Stampa i dati della lista prima del filtro e dopo il filtro
print("Il contenuto di lista1:", lista1)
print("Il contenuto di lista2:", lista2)
print("I dati dopo il filtro",Filtro(lista1,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. 'ri' il modulo è usato in python per applicare l'espressione regolare nello script. Qui viene dichiarato un elenco con codici soggetto subject. Un'espressione regolare viene utilizzata per filtrare quei codici oggetto che iniziano con la parola, 'CSE'. '^Il simbolo 'è usato nei modelli di espressioni regolari per cercare all'inizio del testo.
# Importa il modulo re per usare l'espressione regolareimportare re
# Dichiara che l'elenco contiene il codice dell'oggetto
sottolista = ['CSE-407', 'PHY-101', 'CSE-101', 'ENG-102', 'MAT-202']
# Dichiara la funzione di filtro
def Filtro (lista dati):
# Cerca i dati in base all'espressione regolare nell'elenco
return [val for val in datalist
se ri.cerca(r'^CSE', val)]
# Stampa i dati del filtro
print(Filtro (elenco secondario))
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 utilizzando Diviso() metodo. lamda espressione ometterà quei valori da from 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 ricercasearch_word = ["Insegna", "Codice", "Programmazione", "Blog"]
# Definisci il testo in cui cercherà la parola dall'elenco
text = "Impara la programmazione Python da Linux Hint Blog"
# 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 = ".join((filter(lambda val: val not i
n parola_ricerca, parola_testo)))
# Stampa il testo prima e dopo il filtraggio
print("\nTesto prima del filtraggio:\n", testo)
print("Testo dopo il filtraggio:\n", 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 Nessuna e il secondo parametro prende il nome della variabile lista come valori. filtro() Il metodo memorizza quei dati dall'elenco se restituisce true, altrimenti scarta i dati. Qui, Nessuna è dato come primo valore del parametro parameter. Tutti i valori senza falso verranno recuperati dall'elenco come dati filtrati.
# Dichiara un elenco di dati di mixlistData = ['Ciao', 200, 1, 'Mondo', Falso, Vero, '0']
# Chiama il metodo filter() con None e un elenco
filteredData = filter(Nessuno, listData)
# Stampa l'elenco dopo aver filtrato i dati
print('L'elenco dopo il filtraggio:')
per val in filteredData:
stampa (valore)
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 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.