Python 字符串索引超出范围(长度错误不同)
问题是列表l1中的字符串数比您的\u name\u no中的str数长,因此当我尝试将索引与字符匹配时,它会由于长度差异而匹配错误,我尝试使用if函数排除该错误,但没有成功Python 字符串索引超出范围(长度错误不同),python,loops,if-statement,matching,Python,Loops,If Statement,Matching,问题是列表l1中的字符串数比您的\u name\u no中的str数长,因此当我尝试将索引与字符匹配时,它会由于长度差异而匹配错误,我尝试使用if函数排除该错误,但没有成功 您应该像这样设置if条件: 如果r
您应该像这样设置if条件:
如果r
因为最后一个索引比列表的长度低1,因为列表以索引0开头。出现此错误是因为列表或字符串的
len
从1开始计数,而不是从0开始计数,与索引的工作方式相反。例如:
a = 'hello'
print(len(a))
Output:
5
但是,如果要迭代5个值的索引,则会出现索引错误,因为a[5]
不存在,该字符串中没有第五个元素(因为它从0开始,一直到4)
您可以通过更改
以纯文本而不是图像的形式发布您的代码来解决此问题。更改非常感谢,我仍处于学习python的初级阶段,但这对Hanks非常有帮助,我刚刚意识到这一点
for r in range(0,len(l1)):
if r < len(your_name):
print(r, your_name[r]
for r in range(0,len(l1)):
if r <= (len(your_name)-1):
print(r, your_name[r]