所以,基本上我想知道爲什麼這段代碼有時工作...有時它工作得很好,有時它會帶來索引錯誤。我有一個包含數據的雙向列表4x100。我簡單地從第三行中檢索數據,將其全部歸入1個變量中。索引錯誤:列表索引超出範圍發生在時間
下面的列表:
a=4
lst = [[] for _ in xrange(a)]
wifi= Wireless('wlan0')
while i<100:
results = wifi.scan()
print cont
print "%-8.16s Scan completed :" % (wifi.ifname,)
for ap in results:
if ap.bssid==AP1:
lst[0].append(ap.quality.getSignallevel())
if ap.bssid==AP2:
lst[1].append(ap.quality.getSignallevel())
if ap.bssid==AP3:
lst[2].append(ap.quality.getSignallevel())
if ap.bssid==AP4:
lst[3].append(ap.quality.getSignallevel())
i=i+1
cont=cont+1
for j4 in range(0,100):
num7=num7+lst[3][j4]
請提供給我們您的'lst'對象示例,其中它失敗 –
什麼是'lst'?它的內容可能是你的罪魁禍首。 – Signal
您實際上是從第4行檢索數據,因爲您的索引開始計數爲0。您確定「lst」正好是4x100嗎? 'len(lst)== 100'和'all(len(c)== 4 for c in lst)== True'? – Ben