首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python如何忽略或修复"IndexError: list index out of range"?

Python如何忽略或修复"IndexError: list index out of range"?
EN

Stack Overflow用户
提问于 2018-06-24 00:19:13
回答 1查看 462关注 0票数 -2

因此,这个结果有时可能会有不到10个答案。如果'overbought1‘小于10,我很难弄清楚如何忽略它。例如,如果只有8个结果,我希望它显示8,忽略不存在的最后两个结果。

代码语言:javascript
复制
    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)
EN

回答 1

Stack Overflow用户

发布于 2018-06-24 04:57:12

尽管您的整个示例意义不大,但以下是避免使用IndexError的方法之一

代码语言:javascript
复制
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!

另一种方式:

代码语言:javascript
复制
for v in runo[:10]: # access no more than first 10 elements
    v # <-- also does nothing. v is equivalent to runo[i] from the previous loop

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

代码语言:javascript
复制
overbought1 = "Top 10 overbought today: $" + " $".join(runo[:10])

或者甚至是:

代码语言:javascript
复制
overbought1 = ("Top %d overbought today: $" % len(runo)) + " $".join(runo[:10])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51002971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档