Pitone

Come filtrare un elenco di stringhe in Python

Come filtrare un elenco di stringhe in Python
Python usa il tipo di dati dell'elenco per memorizzare 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. Come è possibile filtrare i dati della stringa in un elenco in Python è mostrato in questo articolo 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 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 lista
lista1 = ['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 lista
lista1 = ['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 regolare
importare 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 ricerca
search_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 mix
listData = ['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.

Come utilizzare Xdotool per stimolare i clic del mouse e le sequenze di tasti in Linux
Xdotool è uno strumento da riga di comando gratuito e open source per simulare i clic del mouse e le sequenze di tasti. Questo articolo tratterà una b...
I 5 migliori mouse per computer ergonomici per Linux
L'uso prolungato del computer provoca dolore al polso o alle dita?? Soffri di rigidità articolare e devi continuamente stringerti la mano? Senti un do...
Come modificare le impostazioni del mouse e del touchpad utilizzando Xinput in Linux
La maggior parte delle distribuzioni Linux viene fornita con la libreria "libinput" per impostazione predefinita per gestire gli eventi di input su un...