所以,基本上我想知道为什么这段代码有时工作...有时它工作得很好,有时它会带来索引错误。我有一个包含数据的双向列表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