python用户定义函数正在替换变量值

时间:2019-03-21 23:00:17

标签: python-3.x list

我创建了带有两个参数的函数“ listappend():”。该函数可以在每个函数调用后附加列表值,并返回更新后的值。我试图将更新后的值存储到变量中,但是我每次调用listappend()进行更新时,都会在每次调用函数时更改存储的变量值。

您可以在下面给出的示例中看到,列表值为[10,20,30],我将值40存储在变量x中。 所以现在x是[10,20,30,40]。我用新列表值[50]调用了函数,现在它变成[10,20,30,40,50]
x的值将替换为新值。即使您将x存储到新变量中并再次使用新值调用listappend(),它也会替换新变量的值。

def listappend(a,list=[]): 
   list.append(a)
   return list

listappend(10) # returns [10]
listappend(20) # returns [10, 20]
listappend(30) # returns [10, 20, 30] 
x = listappend(40) 
print(x) # returns [10, 20, 30, 40] 
y = listappend(50) 
print(y) # returns [10, 20, 30, 40, 50]  
print(x) # returns [10, 20, 30, 40, 50, 60]

0 个答案:

没有答案