Vérifiez si un élément de liste Python contient une chaîne de caractères à l'intérieur d'une autre chaîne de caractères.

J'ai une liste :

my_list = ['abc-123', 'def-456', 'ghi-789', 'abc-456']

et je veux rechercher les éléments qui contiennent la chaîne "abc". Comment puis-je le faire ?

if 'abc' in my_list:

vérifierait si 'abc' existe dans la liste mais il fait partie de 'abc-123' et 39;abc-456', 'abc' n'existe pas seul. Alors comment puis-je obtenir tous les éléments qui contiennent "abc" ?

Solution

Si vous voulez seulement vérifier la présence de abc dans n'importe quelle chaîne de la liste, vous pourriez essayer

some_list = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
if any("abc" in s for s in some_list):
    # whatever

Si vous voulez vraiment obtenir tous les éléments contenant abc, utilisez

matching = [s for s in some_list if "abc" in s]
Commentaires (17)
x = 'aaa'
L = ['aaa-12', 'bbbaaa', 'cccaa']
res = [y for y in L if x in y]
Commentaires (0)
any('abc' in item for item in mylist)
Commentaires (0)