Python 我知道它的存在,但是。。。索引器:列表索引超出范围

Python 我知道它的存在,但是。。。索引器:列表索引超出范围,python,indexing,comparison,Python,Indexing,Comparison,我想逐字符比较字符串的thisline长度。 但是,我的超出范围错误。这是因为索引,它属于-1还是#$½$# 将索引设置为行的长度;但是索引转到len()-1,因为Python使用基于0的索引 减去1: thisline = i.split() Index = len(thisline) - 1 while Index >= 0: print(v(thisline[Index], p[Index])) Index -= 1 如果thisline中有5个以上的元素,这仍然会

我想逐字符比较字符串的
thisline
长度。 但是,我的超出范围错误。这是因为
索引
,它属于-1还是#$½$#


索引设置为行的长度;但是索引转到
len()-1
,因为Python使用基于0的索引

减去1:

thisline = i.split()
Index = len(thisline) - 1
while Index >= 0:
    print(v(thisline[Index], p[Index]))
    Index -= 1
如果
thisline
中有5个以上的元素,这仍然会抛出
索引器,因为
p
只有5个字符

如果使用
zip()
reversed()
for
循环,会更容易:

thisline = i.split()
for a, b in reversed(zip(thisline, p)):
    print(v(a, b))

现在,您可以保证不会遇到索引问题。

您将
索引设置为行的长度;但是索引转到
len()-1
,因为Python使用基于0的索引

减去1:

thisline = i.split()
Index = len(thisline) - 1
while Index >= 0:
    print(v(thisline[Index], p[Index]))
    Index -= 1
如果
thisline
中有5个以上的元素,这仍然会抛出
索引器,因为
p
只有5个字符

如果使用
zip()
reversed()
for
循环,会更容易:

thisline = i.split()
for a, b in reversed(zip(thisline, p)):
    print(v(a, b))

现在,您可以保证不会遇到索引问题。

不要忘记导入:

import string
import collections

现在我在哪里见过这段代码…:)

不要忘记导入:

import string
import collections
现在我在哪里见过这段代码…:)