如果我传入一个列表,我将无法理解 python 函数中的奇怪行为。我做了以下功能:
def func(x):
y = [4, 5, 6]
x = y
def funcsecond(x):
y = [4, 5, 6]
x[1] = y[1]
x = [1, 2, 3]
当我调用 func(x) 然后打印出 x 时,它会打印出 [1, 2, 3],就像 x 之前的方式一样,它不会将列表 y 分配给 x。但是,如果我调用 funcsecond(x),它会将 5 分配给 x 的第二个位置。为什么呢?当我分配整个列表时,它什么都不做,但是当我只分配一个元素时,它会更改我最初调用它的列表。非常感谢你,我希望你能理解我的意思,我很难用英语表达自己。