Python range() négatif de progrès
Est-il un moyen de l'utilisation de la range()
fonction avec stride -1?
E. g. à l'aide de range(10, -10)
au lieu de la place-valeurs entre crochets ci-dessous?
I. e la ligne suivante:
for y in range(10,-10)
Au lieu de
for y in [10,9,8,7,6,5,4,3,2,1,0,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10]:
Évidemment, on pourrait faire ça avec un autre type de boucle de manière plus élégante, mais la range()
exemple fonctionnerait beaucoup mieux pour ce que je veux.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez spécifier la foulée (y compris un négatif foulée) en tant que troisième argument,
donne
En général, ça ne coûte rien d'essayer. Il vous suffit de taper ceci dans l'interprète et de voir ce qu'il fait.
C'est tout documenté ici comme:
mais surtout, je voudrais vous encourager à jouer autour et voir ce qui se passe. Comme vous pouvez le voir, ton intuition était sur place.
range()
builtin, mais pas la peine de lire la documentation a été inutile. Ce qu'il voulait était là.Oui, par la définition d'une étape:
En plus de l'autre les bonnes réponses, il y a une alternative:
Consultez la documentation de
inversé()
.Vous pouvez remarquer que la gamme de la fonction fonctionne uniquement dans l'ordre croissant sans le troisième paramètre. Si vous utilisez sans le troisième paramètre de la gamme bloc, il ne fonctionnera pas.
Au-dessus de la boucle ne fonctionne pas.
Pour le dessus de la boucle de travail, vous devez utiliser le troisième paramètre de nombre négatif.
Oui, mais vous aurez besoin de spécifier que vous voulez pas en arrière par le réglage de l'étape argument à -1.
Utilisation:
for y in range(10, -10, -1)
Si vous préférez créer une liste dans la gamme:
Pour résumer, ces 3 sont les plus efficaces et pertinentes pour répondre à des approches je crois:
Sinon, NumPy serait plus efficace, car elle crée un tableau comme ci-dessous, qui est beaucoup plus rapide que la création et l'écriture d'articles à la liste en python. Vous pouvez ensuite convertir à la liste:
Avis de la négation de signer pour le premier.
De le convertir à la liste comme suit utilisation de numpy.ndarray type.