Modification d'une liste à l'intérieur d'une fonction
Lorsque vous travaillez avec des paramètres de liste dans des fonctions, les références transmises à 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 affecter les éléments de list(a) à la liste d'origine, modifier efficacement 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é.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3