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 声明中提及“以下项目”?
埃塔:谢谢大家!感谢您的时间和解释我在这里做错了什么!
在像您这样的普通 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
来始终引用循环索引。在您的原始代码中,部分混乱是您尝试首先用作i
list元素,后来又用作index,但不能两者兼而有之!