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
现在我在哪里见过这段代码…:)