第20行后,item2
的值为什么会更改?我没有在代码中重新定义item2
,所以我的期望是它不会改变。是否可以在不更改item2
的值的情况下运行相同的代码?这是我的代码:
import random
def one(length):
a = []
for i in range(length):
a.append(1)
return(a)
def two(parent):
b = parent
if random.randint(0,10)<11:
index = random.randint(0,6)
b[index] = 6
return b
item1 = one(6)
print(item1)
item2 = item1
print(item2)
item3 = two(item1)
print(item2)
这就是我得到的结果:
[1,1,1,1,1,1]
[1,1,1,1,1,1]
[1,6,1,1,1,1]
答案 0 :(得分:0)
更改b = parent
到b = parent[:]
在第10行,
@rakesh提供的答案