我当前正在编写程序,但遇到代码错误。我将其归结为:
这是问题的根源:
original_list = ["a","b","c","d","e","f","g","h","i","j"]
value = "a"
new_list = original_list
print(original_list)
new_list.pop(new_list.index(value))
print(original_list)
print(new_list)
我希望它能输出:
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
['b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
但是相反,它给出了此信息,其中值“ a”已从原始列表中删除:
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
['b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
['b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
我似乎无法弄清楚为什么,有人知道吗?
答案 0 :(得分:0)
当您写new_list = original_list
时,您只是为相同的旧列表起了另一个名字。
如果要真正创建一个新列表,则需要克隆旧列表。一种方法是使用new_list = list(original_list)
。最好的方法取决于列表的内容。