【发布时间】:2017-06-21 08:06:38
【问题描述】:
我有几个全局变量,我有一个列表。在一个函数中,我正在使用列表并更新如下值,但全局变量似乎没有更新。
a = "hello"
b ="how"
c = "are you"
data = ([a,"abc","xyz"],[b,"pqr","mno"],[c,"test","quest"])
def checklist():
global data , a, b, c
for values in data:
values[0] = values[1]
checklist()
print a + ":" + b + ":"+ c
现在,当我期望全局变量不会发生更新时,我仍然看到旧变量,有人可以解释如何从列表中更新全局变量。
【问题讨论】:
-
print data在调用你的函数之前。你会发现没有a、b或c这样的东西。它们是变量引用对象。该列表拥有自己对这些相同对象的引用。 -
首先,这段代码不起作用——第一行语法错误。
-
true,数据显示函数调用前的全局值,我想使用泛型函数更新几个全局变量,有没有办法使用变量引用对象更新实际变量
-
我认为您正在绑定到
data新值,您没有更新a、b或c
标签: python arraylist global-variables