我在声明列表时遇到了一些问题。看来我不能删除列表中的所有元素。在reset_a
打印输出中,它显示一个空列表,但在检查myFunction
中的列表之后,前一个元素仍在列表中。我该如何声明一个全局列表并将其全部用于其他定义的?如何声明python全局列表
a = []
def reset_a():
global a
del a[:]
print a
def myFunction():
global a
#check other stuffs........... then..
print a
if data not in a:
a.append(data)
time.sleep(5)
reset_a()
if __name__=='__main__':
while True:
myFunction()
编辑:我找到了一个方法来完成它。
global a
a = []
def reset_a():
del a[:]
print a
def myFunction():
#check other stuffs...........and get 'data' then..
print a
if data not in a:
a.append(data)
time.sleep(5)
reset_a()
if __name__=='__main__':
while True:
myFunction()
为什么你需要在所有使用全局新
data
不执行? – AnonymousLurker 2012-08-04 13:44:58我只是尝试和错误兄弟,因为即时通讯新的蟒蛇..但没有运气得到它的工作.. = \ – leong 2012-08-04 13:47:58
IIRC官方的Python教程不提倡广泛使用像这样的全局性 – AnonymousLurker 2012-08-04 14:03:19