Python: IndexError:元组索引超出范围

6
在Python中,我有以下代码:
if record[0][1]:

问题是,当MySQL没有返回任何内容时,就会出现这种情况...
record[0][1]

没有数据...

这段Python代码出错了:

if record[0][1]:
IndexError: tuple index out of range

我希望您能将其移至“else”语句,或者仅将此if语句视为无效,因为它与技术不相符。请注意保留HTML标记。
record[0][1]

该值没有意义或数据(来自MySQL的输入信息)。


3
你可以尝试使用 try: ... except IndexError: ... 的语法结构来处理错误。 - TheSoundDefense
2个回答

8
try:
    if record[0][1]:
        # Do stuff
except IndexError:
    pass

1
这看起来像是一种反模式,因为在Python中,您只需访问元组 - 用try/except括起来 - 但实际上不测试数据是否存在。先行请求原谅,而非事先获得许可。 - El Bert
我也遇到了类似的错误,就像这个链接中所述:https://stackoverflow.com/questions/46945860/getting-error-when-converting-a-pyscript-to-exe-using-py2exe - Pyd

2
您可以使用 try...except 或在外部元组上使用短路检查。
if len(record) > 0 and len(record[0]) > 1 and record[0][1]:

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接