Je veux parcourir et énumérer les derniers éléments d'une liste:
a = [1,2,3,4,5]
[c for c, i in enumerate(a[-3:], -3)]
donne: [-3, -2, -1]
[c for c, i in enumerate(list(a[-3:]))]
donne: [0, 1, 2]
[c for c, i in islice(enumerate(a), -5)]
relance:
ValueError: Indices for islice() must be None or an integer: 0 <= x <= sys.maxsize.
Alors, comment puis-je être énuméré: [3, 4, 5]
en utilisant des indices négatifs ?
Exemple:
for i, j in enumerate(...): print(i,j)
où ...
contient une expression de tranche avec uniquement des indices négatifs devrait donner:
0 3
1 4
2 5
2 réponses
a = [1,2,3,4,5]
print ([c for c in a[-3:]])
Production:
[3,4,5]
Avec enumerate:
print ([(i, j)[1] for i, j in enumerate(a[-3:])])
[c for c, i in enumerate(a[-3:], -3)]
donne: [-3, -2, -1]
Tu devrais avoir je pas c
[i for c, i in enumerate(a[-3:], -3)]
cela vous donnera [3, 4, 5]
Questions connexes
De nouvelles questions
python
Python est un langage de programmation multi-paradigme, typé dynamiquement et polyvalent. Il est conçu pour être rapide à apprendre, comprendre, utiliser et appliquer une syntaxe propre et uniforme. Veuillez noter que Python 2 est officiellement hors support à partir du 01-01-2020. Néanmoins, pour les questions Python spécifiques à la version, ajoutez la balise [python-2.7] ou [python-3.x]. Lorsque vous utilisez une variante Python (par exemple, Jython, PyPy) ou une bibliothèque (par exemple, Pandas et NumPy), veuillez l'inclure dans les balises.