Ich kann also beginnen mit collection[len(collection)-1]
und enden mit collection[0]
.
Ich möchte auch auf den Schleifenindex zugreifen können.
Ich kann also beginnen mit collection[len(collection)-1]
und enden mit collection[0]
.
Ich möchte auch auf den Schleifenindex zugreifen können.
Sie können einen negativen Index in einer gewöhnlichen for-Schleife verwenden:
>>> collection = ["ham", "spam", "eggs", "baked beans"]
>>> for i in range(1, len(collection) + 1):
... print(collection[-i])
...
baked beans
eggs
spam
ham
Um auf den Index zuzugreifen, als ob Sie vorwärts über eine umgekehrte Kopie der Sammlung iterieren würden, verwenden Sie i - 1
:
>>> for i in range(1, len(collection) + 1):
... print(i-1, collection[-i])
...
0 baked beans
1 eggs
2 spam
3 ham
Um auf den ursprünglichen, nicht umgedrehten Index zuzugreifen, verwenden Sie len(collection) - i
:
>>> for i in range(1, len(collection) + 1):
... print(len(collection)-i, collection[-i])
...
3 baked beans
2 eggs
1 spam
0 ham
Ich bin verwirrt, warum die offensichtliche Wahl bis jetzt nicht aufgetaucht ist:
もし reversed()
nicht funktioniert, weil Sie einen Generator haben (wie im Fall von enumerate()
), verwenden Sie einfach sorted()
:
>>> l = list( 'abcdef' )
>>> sorted( enumerate(l), reverse=True )
[(5, 'f'), (4, 'e'), (3, 'd'), (2, 'c'), (1, 'b'), (0, 'a')]
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.