«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как изменить список внутри функции в Python: передача по ссылке или модификация на месте?

Как изменить список внутри функции в Python: передача по ссылке или модификация на месте?

Опубликовано 8 ноября 2024 г.
Просматривать:344

How to Modify a List Within a Function in Python: Pass by Reference or In-Place Modification?

Изменение списка внутри функции

При работе с параметрами списка в функциях ссылки, передаваемые в функцию, указывают на исходный список. Любые изменения, внесенные в переменную 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