Eventuali duplicati:
Why are python strings and tuples are made immutable?Perché tuple non è mutabile in Python?
ciò che il design di livello inferiore rende tuple non mutabili in Python? Perché questa funzione è utile?
Eventuali duplicati:
Why are python strings and tuples are made immutable?Perché tuple non è mutabile in Python?
ciò che il design di livello inferiore rende tuple non mutabili in Python? Perché questa funzione è utile?
Alcuni motivi:
__hash__
in base al loro contenuto, i valori restituiti potrebbero cambiare con la modifica del contenuto, che viola il contratto per i valori hash.tuple
che verrà copiato solo quando necessario.Perché altrimenti non ci sarebbe un tipo di sequenza immutabile! Se vuoi una tupla mutabile devi solo usare una lista.
L'utilizzo di tipi immutabili all'occorrenza presenta vari vantaggi per le prestazioni e non è possibile utilizzare facilmente un dict
con chiavi tupla se sono stati resi modificabili.
I valori di hash possono cambiare? Eh? – wim
wim -> gli hash vaule cambiano quando la lista cambia. La lista può cambiare se c'è un ref da qualche altra parte alla lista. L'elenco –
non è disponibile. – wim