Python:尝试在2D列表中查找子字符串的索引

时间:2017-07-12 14:29:57

标签: python

我基本上改变了这段代码:

def index_containing_substring(the_list, substring):
    for i, s in enumerate(the_list):
        if substring in s:
              return i
    return -1

Source

进入这个:

def index_containing_substring(the_list, substring):
    for (x,y), s in enumerate(the_list):
        if substring in s:
              return (x,y)
    return -1

得到了这个错误:

TypeError: 'int' object is not iterable

我尝试使用str(list)将我的列表转换为字符串,但这并没有解决问题,我没想到它,因为我的列表无论如何都包含字符串...

我的代码出了什么问题?

1 个答案:

答案 0 :(得分:0)

如果the_list是2D列表,请使用double for循环:

for x, sublist in enumerate(the_list):
    for y, s in enumerate(sublist):
        if substring in s:
            return (x, y)

(请注意,如上所述,x将遍历行,y将遍历列;请注意您期望的顺序!)