Salut,
débutant en python, je suis tombé la dessus :
c'est bien une concaténation de 2 RANGE, mais en commençant par 4380-->17520 puis ensuite 0-->4380 ?Code:for i in list(range(4380, 17520)) + list(range(0, 4380)):...
merci de votre aide
Version imprimable
Salut,
débutant en python, je suis tombé la dessus :
c'est bien une concaténation de 2 RANGE, mais en commençant par 4380-->17520 puis ensuite 0-->4380 ?Code:for i in list(range(4380, 17520)) + list(range(0, 4380)):...
merci de votre aide
Salut,
C'est le genre de question à poser à l'interpréteur Python (avec des ranges plus petits):
Les questions à poser ici seraient: comment éviter de créer ces "grosses" listes dans ce cas (i.e. garder l'intérêt du générateur "range")? où comment rendre ce code plus "lisible" ? Peut être avec itertools.chain:Code:
1
2 >>> list(range(3, 10)) + list(range(0, 3)) [3, 4, 5, 6, 7, 8, 9, 0, 1, 2]
- WCode:
1
2
3
4 >>> from itertools import chain >>> list(chain(range(3, 10), range(0, 3))) [3, 4, 5, 6, 7, 8, 9, 0, 1, 2] >>>
Bonjour,
Comme le dit wiztricks l'annonce, il est possible de comprendre ce code de la manière suivante :
i va prendre les valeurs successives de 4380 à 17519 puis de 0 à 4379
Cdt,
Sunrise
Salut,
merci beaucoup pour la confirmation.
effectivement, je n'avais pas pensé a la console (je viens du C ;) )
Pour info, c'est du code python que je converti en C++.
C'est un gros avantage par rapport aux langages compilés: c'est bien plus facile/rapide de voir si çà le fait comme on l'a compris.
Si c'est juste pour que ce soit plus rapide, peut être que la visite de Cython sera intéressante.
- W