我需要迭代我的列表,这是单词和增量两次循环。按第一个增量是用l保存单词,第二个增量是用m保存i+1处的标记。我需要用一个变量迭代循环,这个变量就是我。但它给了我一个错误:列表索引超出范围。你知道吗
i=4
while i<len(words): # this loop store words of a file in an array
l=lemmatizer.lemmatize(words[i]) #array of words is lematized here
print(l)
i +=1
m=words[i]
print(m)
if result!=0:
#do something
else:
#do something
i+=1
在python中使用while循环遍历列表通常不是最好的方法。在您希望一次取出2个元素的情况下,我将尝试执行类似于
zip(words[::2], words[1::2])
的操作来获得单词对的迭代器。您可以在代码中使用此选项,例如:请注意,当单词长度不均匀时,这将不使用最后一个元素,如果您希望使用最后一个元素的默认值,则可以使用
itertools.zip_longest
如zip_longest(words[::2], words[1::2], fillvalue='defaultvalue')
。你知道吗这是没有测试,但这里是:
我认为for循环在这里会更好,但是 虽然也很管用。你知道吗
相关问题 更多 >
编程相关推荐