Изменение списка внутри функции
При работе с параметрами списка в функциях ссылки, передаваемые в функцию, указывают на исходный список. Любые изменения, внесенные в переменную list_arg внутри функции, ограничиваются ее локальной областью действия и не влияют на исходный список.
Чтобы обойти эту проблему и изменить исходный список, необходимо напрямую присвоить элементы списку. вместо переназначения всего списка новому значению. Вот пример:
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]
В этом модифицированном коде мы используем нотацию среза list_arg[:] для присвоения элементов списка(a) исходному списку, эффективно изменяя список на месте.
Важно отметить, что, хотя изменения на месте могут показаться удобными, они могут стать трудными для понимания и могут привести к путанице для разработчиков, поддерживающих код. Явные переназначения обычно предпочтительнее из соображений ясности и читабельности.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3