Trova la stringa nell'lista in Python

Manav Narula 30 marzo 2021
  1. Usa il cicli for per trovare elementi da una lista che contengono una sottostringa specifica in Python
  2. Usa la funzione filter() per trovare elementi da una lista Python che contengono una sottostringa specifica
  3. Usa le espressioni regolari per trovare elementi da una lista Python che contengono una sottostringa specifica
Trova la stringa nell'lista in Python

Questo tutorial introdurrà come trovare elementi da una lista Python che contengono una sottostringa specifica.

Lavoreremo con il seguente lista ed estrarremo le stringhe che contengono ack.

my_list = ["Jack", "Mack", "Jay", "Mark"]

Usa il cicli for per trovare elementi da una lista che contengono una sottostringa specifica in Python

In questo metodo, iteriamo l’lista e controlliamo se la sottostringa è presente in un particolare elemento o meno. Se la sottostringa è presente nell’elemento, la memorizziamo nella stringa. Il codice seguente mostra come:

str_match = [s for s in my_list if "ack" in s]
print(str_match)

Produzione:

['Jack', 'Mack']

La parola chiave in controlla se la stringa data, "ack" in questo esempio, è presente o meno nella stringa. Può anche essere sostituito dal metodo __contains__, che è un metodo magico della classe string. Per esempio:

str_match = [s for s in my_list if s.__contains__("ack")]
print(str_match)

Produzione:

['Jack', 'Mack']

Usa la funzione filter() per trovare elementi da una lista Python che contengono una sottostringa specifica

La funzione filter() recupera un sottoinsieme di dati da un dato oggetto con l’aiuto di una funzione. Questo metodo utilizzerà la parola chiave lambda per definire la condizione per il filtraggio dei dati. La parola chiave lambda crea una funzione lambda di una riga in Python. Vedere il seguente frammento di codice.

str_match = list(filter(lambda x: "ack" in x, my_list))
print(str_match)

Produzione:

['Jack', 'Mack']

Usa le espressioni regolari per trovare elementi da una lista Python che contengono una sottostringa specifica

Un’espressione regolare è una sequenza di caratteri che può fungere da modello di corrispondenza per la ricerca di elementi. Per usare le espressioni regolari, dobbiamo importare il modulo re. In questo metodo, useremo il cicli for e il metodo re.search(), che è usato per restituire un elemento che corrisponde a un modello specifico. Il codice seguente spiegherà come:

import re

pattern = re.compile(r"ack")
str_match = [x for x in my_list if re.search("ack", x)]
print(str_match)

Produzione:

['Jack', 'Mack']
Autore: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Articolo correlato - Python List