J’ai une liste :
et à rechercher les éléments qui contiennent la chaîne `` . Comment puis-je faire ?
vérifierait si existe dans la liste mais il existe juste
et et pas
. Alors, comment puis-je obtenir tous les éléments qui contiennent des `` ?
J’ai une liste :
et à rechercher les éléments qui contiennent la chaîne `` . Comment puis-je faire ?
vérifierait si existe dans la liste mais il existe juste
et et pas
. Alors, comment puis-je obtenir tous les éléments qui contiennent des `` ?
Si vous voulez seulement vérifier la présence d'un "abc" dans n'importe quelle chaîne de la liste, vous pouvez 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]
Utilisez filter
pour obtenir les éléments qui ont abc
.
>>> lst = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
>>> print filter(lambda x: 'abc' in x, lst)
['abc-123', 'abc-456']
Vous pouvez également utiliser une compréhension de liste.
>>> [x for x in lst if 'abc' in x]
Soit dit en passant, n'utilisez pas le mot list
comme nom de variable car il est déjà utilisé pour le type list
.
C'est tout à fait une vieille question, mais je vous offre cette réponse parce que les réponses précédentes ne pas faire face à des éléments de la liste qui ne sont pas des chaînes de caractères (ou un type d'objet itérable). Ces éléments font toute la compréhension de liste à l'échec avec une exception.
Pour normalement faire face à de tels éléments dans la liste en ignorant la non-itératif éléments, utilisez la commande suivante:
[el for el in lst if isinstance(el, collections.Iterable) and (st in el)]
alors, avec une telle liste:
lst = [None, 'abc-123', 'def-456', 'ghi-789', 'abc-456', 123]
st = 'abc'
vous aurez toujours des éléments correspondants (['abc-123', 'abc-456']
)
Le test itératif peut-être pas le meilleur. Obtenu à partir d'ici: En python, comment puis-je déterminer si une variable est Itératif?
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.