Comprendre la différence entre l'affectation de tranches et l'affectation directe dans les listes
En Python, l'affectation de tranches permet une manipulation efficace des éléments d'une liste. Bien qu'il soit couramment utilisé avec des index autres que ceux par défaut, son utilisation avec des index de tranche tels que a_list[:] = ['foo', 'bar'] peut prêter à confusion par rapport à une affectation directe comme a_list = ['foo', 'bar'. '].
Affectation directe
a_list = ['foo', 'bar'] crée une nouvelle liste en mémoire, en l'attribuant à la variable a_list. Cette action écrase toutes les données existantes dans a_list et la liste d'origine est supprimée.
Affectation des tranches
a_list[:] = ['foo', 'bar'] est plus nuancé. Cela implique d'appeler la méthode __setitem__ de l'objet a_list avec une tranche (représentant les indices 0 à len(a_list) - 1) comme index. La valeur fournie est également une liste, créée en mémoire.
La méthode __setitem__ alors :
Différences clés
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!