我在聲明列表時遇到了一些問題。看來我不能刪除列表中的所有元素。在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