Détails
Imprimer une liste dans l'ordre inverse avec range() ?
Comment pouvez-vous produire la liste suivante avec range()
en Python ?
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
330
3
utiliser la fonction
reversed()
:C'est beaucoup plus parlant.
Mise à jour:
Si vous voulez que ce soit une liste (comme btk l'a souligné) :
Mise à jour :
Si vous voulez utiliser uniquement
range
pour obtenir le même résultat, vous pouvez utiliser tous ses paramètres.range(start, stop, step)
Par exemple, pour générer une liste
[5,4,3,2,1,0]
, vous pouvez utiliser ce qui suit :C'est peut-être moins intuitif, mais comme le mentionnent les commentaires, c'est plus efficace et c'est la bonne utilisation de la plage pour une liste inversée.
Utilisez la fonction intégrée 'range' ;. La signature est
range(start, stop, step)
. Cela produit une séquence qui donne des nombres, en commençant parstart
, et en finissant sistop
a été atteint, en excluantstop
.En Python 3, ceci produit un objet
range
non-listé, qui fonctionne effectivement comme une liste en lecture seule (mais utilise beaucoup moins de mémoire, particulièrement pour les grandes plages).