Il documento Python dice che affettare una lista restituisce una nuova lista.
Ora, se viene restituito un "nuovo" elenco, ho le seguenti domande relative a "Assegnazione a sezioni"
a = [1, 2, 3]
a[0:2] = [4, 5]
print a
Ora l'output sarebbe:
[4, 5, 3]
- Come può qualcosa che sta restituendo qualcosa venire sul lato sinistro dell'espressione?
- Sì, ho letto i documenti e mi si dice che è possibile, ora che l'affettamento di un elenco restituisce un elenco "nuovo", perché l'elenco originale viene modificato? Non sono in grado di capire i meccanismi che stanno dietro.
a[0] = 4farebbe?
=, quindi invece di scartarlo come sintassi non valida, Python lo trasforma in qualcosa di più simile a quello che potresti aspettarti. Poiché python non ha riferimenti, non funzionerebbe se il risultato di una fetta cambiasse l'elenco originale. Ottieni una copia. Se hai fornito maggiori informazioni sulla tua applicazione, potremmo essere in grado di aiutarti meglio a fare le cose in modo "pitonico". :)