python - 遍历多维列表?

标签 python list indexing

抱歉,如果问题很明显,我是初学者,我的 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/

相关文章:

mysql - SQLite:创建多个索引、多个索引列与单个索引哪一个将有助于获得最佳性能?

python - 在 python 中创建数字的二进制表示矩阵

python win32print 不打印

java - 将 HashMap 刷新到磁盘到有序集合中的最快方法

java - Java中如何将字符串形式的JSOn转换为List<String>

java - 使用 lucene 重新索引/从索引中删除术语

python sendall没有提高连接关闭错误

python - 如何在Python中编写CSV格式的输出文件?

c++ - C2676实现结构列表时发生编译错误

python - 如何找到列表中值的索引,增加值?