>>> def double(x):
x += x
>>> a=[1,2,3,4]
>>> b=a
>>> double(b)
>>> print(a)
[1, 2, 3, 4, 1, 2, 3, 4]
>>> print(b)
[1, 2, 3, 4, 1, 2, 3, 4]
>>>
有人可以帮我理解这个过程中列表的加倍吗?我理解b的列表是如何加倍但不是
谢谢!
答案 0 :(得分:0)
我认为这就是你的代码:
def double(x):
x += x
a=[1,2,3,4]
b=a
double(b)
print(a)
print(b)
输出:
[1,2,3,4,1,2,3,4]
[1,2,3,4,1,2,3,4]
原因很简单,如果您有一个列表x = [1,2,3]
和一个列表y = [6,7,8]
,那么x + y
会为您提供[1,2,3,6,7,8]
。因此,x += x
行将x
的元素添加到其自身的末尾,使其加倍。
a
加倍时b
加倍的原因是因为python列表可变。您可以在此处找到更多信息:https://codehabitude.com/2013/12/24/python-objects-mutable-vs-immutable/