Frage zu umgekehrten Listen in Python
-
27-10-2019 - |
Frage
Ich bin sehr neu in Python, wie Sie sehen werden.
Wenn ich eine Liste habe:
a = [1,2,3,2,1]
Dies ergibt true:
a == a[::-1]
... aber dies ergibt false:
a == a.reverse()
Warum ist das so?
Lösung
weil .reverse()
die Liste an Ort und Stelle umkehrt und keine zurückgibt:
>>> print a.reverse()
None
und a == None
werden zu False
ausgewertet.
Andere Tipps
a.reverse()
hat keinen Rückgabewert, daher ist der Vergleich
a== Keine
das ist falsch
können Sie überprüfen mit:
>>> str(a.reversed())
'None'
noch besser:
>>> (id(a.reverse()), id(None))
Sie sehen dieselben Adressen
Wenn Sie eine neue Kopie der Liste wünschen, verwenden Sie stattdessen reverse ().
a == list(reversed(a))
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow