如何在python中定义全局列表并向其附加本地列表
我想定义一个全局列表并向其附加一个列表。我通过一些点击事件得到一个列表(I[0]),并将其附加到mnum_列表中。现在,我想创建一个全局列表,并将mnum_列表附加到其中。你知道怎么做吗如何在python中定义全局列表并向其附加本地列表,python,list,onclick,append,global,Python,List,Onclick,Append,Global,我想定义一个全局列表并向其附加一个列表。我通过一些点击事件得到一个列表(I[0]),并将其附加到mnum_列表中。现在,我想创建一个全局列表,并将mnum_列表附加到其中。你知道怎么做吗 def OnClick(self, event): name = event.GetEventObject().GetLabelText() cursor= self.conn.execute("SELECT * FR
def OnClick(self, event):
name = event.GetEventObject().GetLabelText()
cursor= self.conn.execute("SELECT * FROM ELEMENT where SYMBOL==?", (name,))
elements = cursor.fetchall()
print elements
cursor= self.conn.execute("SELECT ATOMIC_NUMBER FROM ELEMENT where SYMBOL = ?", (name,))
numbers = cursor.fetchone()[0]
print numbers
atomicnumber = numbers
cursor= self.conn.execute("SELECT MOL_NUMBER FROM LINK where ELEMENT_NUMBER = ?", (atomicnumber,))
mnumbers = cursor.fetchall()
print mnumbers
mnum_list = []
for i in mnumbers:
mnum_list.append(i[0])
print mnum_list
如果没有赋值,则无需在
global
语句中,只需:
def foo(x):
sublist = range(x)
glist.append(sublist)
在延期的情况下:
def foo(x):
sublist = range(x)
glist.extend(sublist)
您可以在文件/模块级别声明它,如下所示: 我的全局列表=列表() 当你想在一个函数中附加到它时,你可以使用global关键字。 global关键字告诉python查找全局变量 全局我的全球列表
MyuGlobal列表.AppEnter()/P>一个旁注的可能副本:我个人认为全局变量是一个设计缺陷,如果可能的话,我会不惜一切代价避免它们。@ MPF82-,你的评论好像全局变量本身是错误的;他们不是。对于全局变量,例如“常量”值,存在完全有效的用例。当您开始尝试使用全局变量作为状态时,您就开始得到意大利面代码。@mpf82:OP试图操纵全局变量。他们可以这样做,而不必知道如何使用
global
,因为全局名称没有赋值。如果您在模块级别有一个全局列表(some\u global\u list=[]
),那么只需引用它来附加到它:some\u global\u list.append(mnum\u list)
。变异一个全局对象就这么简单。变异一个全局对象不涉及赋值,所以glist
行是完全冗余的。扩展不需要+=
,只需使用glist.extend()
(而+=
需要全局
语句)。对,感觉它只需简单地完成工作。抱歉,我是新手!这里的子列表是mnum_列表?不,它不工作!当我打印glist时,它不会给我任何输出,在修改对象时,您不需要使用global
。这仅在分配给全局名称时才需要。这起作用,但没有解决我的问题!谢谢,我还要问另一个问题