繁体   English   中英

如何在Python中修复“ IndexError:列表索引超出范围”

[英]How to fix “IndexError: list index out of range” in python

我的问题是,当我设置一个for循环来浏览列表时,它不起作用,因为它超出了范围,即使我从0开始也是如此。

我曾尝试更改for循环的范围,但无法正常工作。

Code = input("Enter your Key code: ")

Code = list(Code)

message = input("Enter your message: ")

message = list(message)

for i in (0, len(message)):
    if message[i] == Code[0]:
        message[i] = 'a'

我以为它可以工作,但是在for循环的开始它就崩溃了。

for i in (0, len(message)):

应该是

for i in range(len(message)):

你忘了range

您想做:

for i in range(len(message)):
    ...

(0, len(message))是一个元组。 对此进行迭代将为您提供0 ,然后为len(message) (始终比列表中最大的有效索引大1),从而导致IndexError。

您可能还需要检查Code是否包含至少1个字符,否则Code[0]也将为您提供IndexError。

Code = list(Code) or '?'

Code设置为'?' 如果Code == ''

你打错字了

应该是这样的:

对于我在范围内(len(消息))

您的for循环是弯曲的,因此它将总是从您想要的1+开始

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM