【发布时间】:2017-10-29 06:49:47
【问题描述】:
所以,基本上我想知道为什么这段代码有时会工作......有时它工作得很好,有时它会带来索引错误。我有一个包含数据的 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?它的内容可能是你的罪魁祸首。 -
您实际上是从第 4 行检索数据,因为您的索引从 0 开始计数。您确定
lst正好是 4x100?len(lst) == 100和all(len(c) == 4 for c in lst) == True有吗? -
很明显,因为您的索引超出范围。没有更多细节就不可能说更多。检查
[len(sub) for sub in lst]的输出给你什么......应该很有启发性。 -
我刚刚添加了列表,是的,一定是这样,因为我知道我在列表中放入了多少数据,并且我为列表做了行
标签: python arrays python-2.7