遍历多维列表?

cho*_*one 6 python indexing list

对不起,如果明显的问题,我是一个初学者,我的 google-fu 失败了。

我正在编写一个工具来搜索文本以进行头韵。我有一个多维列表:[[e,a,c,h], [w,o,r,d], [l,o,o,k,s], [l,i,k,e] , [这个]]

我想要的是遍历主列表中的项目,检查每个项目的 [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] 
Run Code Online (Sandbox Code Playgroud)

我收到一个 TypeError: can only concatenate list (not "int") to list。

所以 [i + 1] 不是表示“索引等于 i 的索引加一的项目”的正确方法。但是, [ + 1] 也不起作用:这似乎返回列表中在 word[0] 处具有相同字母的任何两个单词。

我如何在此 for 声明中提及“以下项目”?

埃塔:谢谢大家!感谢您的时间和解释我在这里做错了什么!

Dan*_*n R 1

在像您这样的普通 for-each 循环中,您一次只能访问一个元素:

for x in lst:
    print("I can only see", x)
Run Code Online (Sandbox Code Playgroud)

因此,您需要迭代索引,例如:

for i in range(len(lst) - 1):
    print("current =", lst[i], "next =", lst[i+1])
Run Code Online (Sandbox Code Playgroud)

顺便说一句,作为惯例,最好使用命名的变量i来始终引用循环索引。在您的原始代码中,部分混乱是您尝试首先用作ilist元素,后来又用作index,但不能两者兼而有之!