函数和列表如何协同工作?

时间:2015-06-04 22:44:35

标签: python

当我试图附加一个列表时,它的工作很奇怪。假设这是我的代码:

a = [1]
b = a
c = a

def func(a):
    a.append([50])

这是输出:

a
[1]    
b
[1]
c
[1]

func(c)
c
[1,50]  # good till now

但是现在当我尝试打印a或b时,我应该只是[1]吗?但不,这就是我得到的:

b
[1,50]

请解释......

1 个答案:

答案 0 :(得分:0)

这里'b'和'c'引用'a'。由于'a'是一个列表并且是可变的,因此对'a'的任何更改也将反映在'b'和'c'中。

制作对象的副本,使用

CancelEventArgs

现在将“a”,“b”或“c”传递给函数,您将为每个函数获取单独的值

干杯