我对 Python 很陌生,在尝试编写替换函数时遇到了麻烦。目的是显示一个列表,然后显示相同的列表并更改字符。
用于调用该函数的代码是:
str_list = ['s', 'h', 'r', 'u', 'g', 'g', 'e', 'd']
print("\nreplace Test")
new_str = list_function.replace(str_list, 'g', 'z')
print(list_function.to_string(str_list))
print(list_function.to_string(new_str))
new_str = list_function.replace(str_list, 'a', 'y')
print(list_function.to_string(new_str))
定义函数的代码是:
def replace(my_list, old_value, new_value):
new_list = my_list
for k in range(0, length(new_list)):
if new_list[k] == old_value:
new_list[k] = new_value
return my_list
但是,当我运行程序时,输出是:
replace Test
s, h, r, u, z, z, e, d
s, h, r, u, z, z, e, d
s, h, r, u, z, z, e, d
我只想改变第二个列表,我运行调试器发现它str_list
也被改变了new_list
,但我无法弄清楚我做错了什么。任何帮助将不胜感激。