Domanda sugli elenchi invertiti in Python
-
27-10-2019 - |
Domanda
Sono molto nuovo su Python, come potrai capire.
Se ho un elenco:
a = [1,2,3,2,1]
Questo restituisce true:
a == a[::-1]
... ma restituisce false:
a == a.reverse()
Perché è così?
Soluzione
perché .reverse()
inverte l'elenco sul posto e non restituisce nessuno:
>>> print a.reverse()
None
e a == None
restituisce False
.
Altri suggerimenti
a.reverse()
non ha valore di ritorno, quindi il confronto lo è
a== Nessuno
che è falso
puoi verificare con:
>>> str(a.reversed())
'None'
ancora meglio:
>>> (id(a.reverse()), id(None))
vedrai gli stessi indirizzi
Se vuoi una nuova copia dell'elenco, usa invece reversed ().
a == list(reversed(a))
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow