"Зачем возвращаться ['yes']
"
Поскольку вы изменили список, example
.
"хотя я и не изменяю переменную example напрямую."
Но вы предоставили функции объект, названный переменной example
. Функция модифицировала объект, используя метод append
объекта.
Как уже говорилось в SO, append
не создает ничего нового. Он изменяет объект на месте.
См. Почему list.append оценивается как false? , Python Оператор append () и + в списках, почему они дают разные результаты? , Списки Python добавить возвращаемое значение .
и как я могу изменить код, чтобы функция «example» не влияла на функцию?
Что вы подразумеваете под этим? Если вы не хотите, чтобы функция обновляла example
, не передавайте ее функции.
Если вы хотите, чтобы функция создала новый список, напишите функцию для создания нового списка.