Python如何忽略或修复“索引器错误:列表索引超出范围”?

2024-06-17 11:42:22 发布

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

所以这个结果一次可以得到少于10个答案。我很难弄清楚,如果“过负荷1”小于10,该如何忽略。例如,如果只有8个结果,我希望它显示8个结果,而忽略最后两个不存在的结果。在

    try:
        for i in range(10):
            (runo[i])
    except:
        pass

    overbought1 = ("Top 10 overbought today: $" + runo[0] + " $" + runo[1] + " $" + runo[2] + " $" + runo[3] + " $" +runo[4] + " $" + runo[5] + " $" + runo[6] + " $" + runo[7]+ " $" + runo[8]+ " $" + runo[9])

    await client.say(overbought1)

Tags: 答案inclientfortodaytoprangepass
1条回答
网友
1楼 · 发布于 2024-06-17 11:42:22

虽然整个示例没有什么意义,但以下是避免IndexError的方法之一:

for i in range(min(10, len(runo))): # loop at most to the minimum
                                    # between ten and len(runo)
    (runo[i]) # <  this does nothing here!

另一种方式:

^{pr2}$

现在,如果要修复overbought1字符串,请执行以下操作:

overbought1 = "Top 10 overbought today: $" + " $".join(runo[:10])

甚至:

overbought1 = ("Top %d overbought today: $" % len(runo)) + " $".join(runo[:10])

相关问题 更多 >