列表索引超出范围在我们的代码中意味着什么?

2024-09-28 01:24:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我们正在为学校编程课制作一个温度传感器,我们遇到了这一行代码的问题:

devicefile= devicelist[0] + '/w1_slave'

索引器错误:列表索引超出范围

我们从以下网站获取代码: http://www.whiskeytangohotel.com/2013/07/raspberry-pi-charting-ambient-vs.htmlhttp://raspberrywebserver.com/gpio/connecting-a-temperature-sensor-to-gpio.html


Tags: 代码comhttp列表gpiohtml编程错误
2条回答

这意味着列表devicelist少于1个元素(devicelist[0]是列表中的第一个元素)。洛:这是一张空名单。在

有关Python中列表的更多信息,请参阅教程http://docs.python.org/2/tutorial/introduction.html#lists和库引用http://docs.python.org/2/library/stdtypes.html#sequence-types-str-unicode-list-tuple-bytearray-buffer-xrange

IndexError表示您试图通过索引访问某个内容,但该索引超出了容器的边界,例如

>>> l = [0, 1, 2]
>>> l[2]
2
>>> l[3]
...
IndexError: list index out of range

如果容器没有第零个元素,则它必须为空:

^{pr2}$

您需要调查列表为空的原因,但是对于更健壮的代码,您可以在尝试访问元素之前显式检查:

if len(l) > 0:
    # access l[0]

或者,简单地说:

if l:
    # access l[0]

相关问题 更多 >

    热门问题