J'ai trouvé du code dont j'avais besoin dans cette réponse https://stackoverflow.com/a/37401376/1727657. Mais je ne comprends pas ce que next()
fait dans ce contexte. Quelqu'un pourrait-il expliquer?Comment fonctionne next() dans ce code python
Voici un court script de test que j'ai fait pour le comprendre. L'idée est de voir si la chaîne de test txt
contient l'une des chaînes de myset
et, si oui, laquelle. Cela fonctionne mais je ne sais pas pourquoi.
myset = ['one', 'two', 'three']
txt = 'A two dog night'
match = next((x for x in myset if x in txt), False)
if match: #if match is true (meaning something was found)
print match #then print what was found
else:
print "not found"
Ma prochaine question sera de se demander si next()
me donnera l'indice de match
(ou dois-je faire find()
sur txt
)?
https://docs.python.org/3/library/functions.html#next – Grimmy
Je suppose qu'ils utilisent '' next'' ici parce qu'ils ne veulent que la première correspondance. La ligne aurait pu être juste '' match = [x pour x dans myset si x dans txt] '' pour obtenir toutes les correspondances. – Grimmy