如何在 Python 的嵌套列表中查找给定值的索引?

How to find index of a given value in a nested list in Python?

我要遍历下面的嵌套列表,找到 1 然后打印该列表的索引。

my_list = [['Hello', 'World','!'],[1, 3, 'Test', 5, 7],[2, 4]]

for item in range(len(my_list)):
    for item2 in range(len(my_list[item])):
        output = my_list[item][item2]
        if output == 1:
            print('the index of 1 is [%d][%d] ' % (item.item2))

上面的循环返回 AttributeError: 'int' object has no attribute 'item2'

谁能告诉我怎么解决?感谢您的帮助!

我在嵌套列表上使用了 enumerate 来同时使用列表中项目的索引和相应的列表项目。

要查找项目的索引,请使用 list_name.index(value) 方法。

使用 in 检查成员资格,即检查值是否在列表中。

my_list = [['Hello', 'World','!'],[1, 3, 'Test', 5, 7],[2, 4]]

for i, item in enumerate(my_list):
    if 1 in item:
        print('Index of 1 is [{}][{}]'.format(i,item.index(1)))

输出:

您的代码中的一切似乎都很好,只需将字符串格式化程序设为元组即可。将代码的最后一行修改为以下内容:

print('the index of 1 is [%d][%d] ' % (item,item2))
for i in my_list:
    if 1 in i:
        print(str(i.index(1)) + "th element of " + str(i))

这输出

0th element of [1, 3, 'Test', 5, 7]