Modifier une liste à l'intérieur d'une fonction
Lorsque vous travaillez avec des paramètres de liste dans des fonctions, les références passées à la fonction pointent vers la liste d'origine. Toutes les modifications apportées à la variable list_arg dans la fonction sont limitées à sa portée locale et n'affecteront pas la liste d'origine.
Pour contourner ce problème et modifier la liste d'origine, il faut attribuer directement des éléments à la liste. au lieu de réaffecter la liste entière à une nouvelle valeur. Voici un exemple :
def function1(list_arg): a = function2() # function2 returns an array of numbers list_arg[:] = list(a) list1 = [0] * 5 function1(list1) print(list1) # [1, 2, 3, 4, 5]
Dans ce code modifié, nous utilisons la notation slice list_arg[:] pour attribuer les éléments de list(a) à la liste d'origine, modifiant ainsi la liste en place.
Il est important de noter que même si les modifications sur place peuvent sembler pratiques, elles peuvent devenir difficiles à comprendre et peuvent prêter à confusion pour les développeurs qui gèrent le code. Les réaffectations explicites sont généralement préférées pour des raisons de clarté et de lisibilité.
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!