-3
def foo(a, b):
a = 1
b[0] = 2
p, q = 100, [200, 300]
foo(p, q)
print(p, q)
>>> 100 [2, 300]
我的问题是,为什么q变化,但P不?谢谢!为什么分配是错误的?
def foo(a, b):
a = 1
b[0] = 2
p, q = 100, [200, 300]
foo(p, q)
print(p, q)
>>> 100 [2, 300]
我的问题是,为什么q变化,但P不?谢谢!为什么分配是错误的?
您是否期望'b'被复制?不是,所有的名字都是引用。查看有关如何工作的副本。或者参见[如何克隆或复制列表?](// stackoverflow.com/q/2612802)来创建副本。 –
在提出问题之前,请搜索相似的东西。有太多类似的问题,你可以从他们的答案 –
非常感谢。我尝试过搜索,但使用了错误的关键字。 –