Je peux me tromper (faites-le moi savoir et je supprimerai la question) mais il semble que python ne répondra pas
for n in range(6,0):
print n
J'ai essayé d'utiliser xrange et cela n'a pas fonctionné non plus. Comment puis-je mettre cela en œuvre?
for i in reversed(mat):
même si cela pourrait être plus lentRéponses:
la source
range(5,-1,-1)
. Bien qu'il puisse probablement comprendre cela par essais et erreurs.C'est très tard, mais je voulais juste ajouter qu'il existe une manière plus élégante: utiliser
reversed
donne:
la source
reversed(range)
gratuitement grâce à la bellerange_reverse
optimisation intégrée à CPython. J'ai fait quelques points de repère rapides et je n'ai pas trouvé de différence de coût significative entrestep=-1
etreversed()
dans les deux Python 2.7 et 3.3. Veuillez également noter que cet idiome est utilisé dans heapq .xrange
dans vos tests Python 2.7,reverse
il fonctionnera sur une liste ordinaire déjà générée, pas sur un objet range; alors dites-vous que n'importe quelle liste peut être efficacement inversée, ou juste desrange/xrange
objets? (le code heapq auquel vous liez implique un objet de plage Python 3).step=-1
àreversed()
entre Python 2.3 et 2.4reversed(range(10))
ne peut pas sortir4
via0
. Vous vouliez peut-être direrange(5)
?Cela vous donnerait
6,5,4,3,2,1
Pour ce qui est de
te donnerait
5,4,3,2,1,0
la source
la source
la source
0 est la valeur conditionnelle lorsque cette condition est vraie, la boucle continuera à s'exécuter, 10 est la valeur initiale. 1 est le modificateur où peut être un simple décrément.
la source
En retard à la fête, mais pour toute personne chargée de créer la sienne ou souhaitant voir comment cela fonctionnerait, voici la fonction avec un bonus supplémentaire de réorganiser les valeurs de démarrage-arrêt en fonction de l'incrément souhaité:
Incrément négatif:
Ou, avec start-stop inversé:
Production:
Incrément régulier:
Production:
Incrément zéro:
Production:
la source
Pour python3 où
-1
indiquer la valeur à décrémenter à chaque étapefor n in range(6,0,-1): print(n)
la source