J'ai un list
et souhaitez construire (par l'intermédiaire d'une compréhension) une autre liste. Je voudrais que cette nouvelle liste pour être de taille limitée, par l'intermédiaire d'une condition
Le code suivant ne fonctionne pas:
a = [1, 2, 1, 2, 1, 2]
b = [i for i in a if i == 1 and len(b) < 3]
avec
Traceback (most recent call last):
File "compr.py", line 2, in <module>
b = [i for i in a if i == 1 and len(b) < 3]
File "compr.py", line 2, in <listcomp>
b = [i for i in a if i == 1 and len(b) < 3]
NameError: name 'b' is not defined
parce qu' b
n'est pas défini encore au moment où la compréhension est construit.
Est-il un moyen de limiter la taille de la nouvelle liste au moment de la construction?
Note: j'ai pu briser la compréhension en for
boucle avec le bon break
lorsqu'un compteur est atteint, mais je voudrais savoir si il y a un mécanisme qui utilise une compréhension.