Affectation par tranches ou affectation directe dans les listes
Bien que le découpage soit une opération courante pour extraire des éléments d'une liste, son utilisation dans les affectations peut être déroutant. Comparons la différence entre l'affectation de tranche et l'affectation directe.
Affectation directe
a_list = ['foo', 'bar']
Cela attribue une nouvelle liste au nom a_list. La valeur d'origine stockée dans a_list est supprimée et la nouvelle liste devient le seul objet référencé par a_list.
Assignation de tranche
a_list[:] = ['foo', 'bar']
En revanche, l'affectation de tranche fonctionne différemment. Il appelle la méthode __setitem__ sur l'objet a_list, en utilisant une tranche comme index et une nouvelle liste comme valeur.
Différences clés
Applications supplémentaires
Au-delà du découpage de la liste entière, l'affectation de tranches permet des manipulations avancées telles que :
Cependant, pour les tranches étendues (avec un pas différent de un), l'itérable de droite doit avoir la bonne longueur pour correspondre à la tranche.
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!