抱歉,如果问题很明显,我是初学者,我的 google-fu 失败了。
我正在编写一个工具来搜索文本中的头韵。我有一个多维列表:[[e,a,c,h], [w,o,r,d], [l,o,o,k,s], [l,i,k,e] , [t,h,i,s]]
我想要的是遍历主列表中的项目,检查每个项目的 [0] 索引,看它是否等于 FOLLOWING 项目的 [0] 索引。
def alit_finder(multi_level_list):
for i in multi_level_list:
if i[0] == multi_level_list[i + 1][0] and i != multi_level_list[-1]:
print i, multi_level_list[i + 1]
我收到类型错误:只能将列表(不是“int”)连接到列表。
所以 [i + 1] 不是表示“索引等于索引 i 加一的项目”的正确方法。但是,[ + 1] 也不起作用:它似乎返回列表中在 word[0] 处具有相同字母的任何两个单词。
如何在此 for 语句中引用“以下项目”?
ETA:谢谢大家!感谢您花时间解释我到底做错了什么!
最佳答案
在像您这样的普通 for-each 循环中,您一次只能访问一个元素:
for x in lst:
print("I can only see", x)
因此您需要迭代索引,例如:
for i in range(len(lst) - 1):
print("current =", lst[i], "next =", lst[i+1])
顺便说一句,作为惯例,使用名为i
的变量始终引用循环索引是个好主意。在您的原始代码中,部分混淆是您首先尝试使用 i
作为列表 element,然后作为 index,而且不可能两者兼而有之!
关于python - 遍历多维列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38148547/