any demande un iterable (qui possède la méthode __iter__). Logiquement, any arrête d'itérer sur l'itérable lorsque un True est vérifié quelque soit l'itérable. Par contre il y a une différence entre
ifany([i<0foriinfoo])
et
ifany(i<0foriinfoo)
Dans le premier cas une liste est générée en totalité, réside en mémoire, et any itère sur ses éléments. Dans le second, un générateur est instancié, génère les éléments à la demande d'any. A noté que le second cas est syntaxiquement équivalent à
ifany((i<0foriinfoo))
mais les parenthèses sont inutiles, l'interpréteur identifie directement un générateur. C'est beau, simple, claire et ça se lit littéralement... Par contre on pourrait faire
[^] # Re: Mon avis à moi et rien qu'à moi
Posté par François (site web personnel) . En réponse au journal Python comme premier langage de programmation ?. Évalué à 2.
anydemande uniterable(qui possède la méthode__iter__). Logiquement,anyarrête d'itérer sur l'itérable lorsque unTrueest vérifié quelque soit l'itérable. Par contre il y a une différence entreet
Dans le premier cas une liste est générée en totalité, réside en mémoire, et
anyitère sur ses éléments. Dans le second, un générateur est instancié, génère les éléments à la demande d'any. A noté que le second cas est syntaxiquement équivalent àmais les parenthèses sont inutiles, l'interpréteur identifie directement un générateur. C'est beau, simple, claire et ça se lit littéralement... Par contre on pourrait faire