Trova la stringa nell'lista in Python
-
Usa il cicli
for
per trovare elementi da una lista che contengono una sottostringa specifica in Python -
Usa la funzione
filter()
per trovare elementi da una lista Python che contengono una sottostringa specifica - Usa le espressioni regolari per trovare elementi da una lista Python che contengono una sottostringa specifica
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']
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.
LinkedInArticolo correlato - Python List
- Converti un dizionario in una lista in Python
- Rimuovi i duplicati dall'lista in Python
- Rimuovi tutte le occorrenze di un elemento da una lista in Python
- Ottieni la media di una lista in Python
- Qual è la differenza tra i metodi di elencazione, aggiungere ed estendere
- Come convertire una lista in stringa in Python