首页 > 解决方案 > Python查找列表列表的索引

问题描述

我正在尝试在 python 列表列表中查找所有元素的索引。该列表看起来像这样:

list = [[x,y,x],
        [x,y,y],
        [y,y,y]]

为此,我尝试使用这样的嵌套循环:

for lst in list:
        print(list.index(lst))
        for x in lst:
            print(lst.index(x))

然而,这会打印出一个长长的列表,其中包含几乎看似随机的数字。

略有不同的列表的输出屏幕截图

我想要实现的是一个看起来像这样的输出:

0
1
0
2
0
3
1
0
1
0

有没有人可以帮助python初学者?

标签: python-3.x

解决方案


您可以枚举以打印索引

x = 22
y = 34

l = [[x,y,x],
        [x,y,y],
        [y,y,y]]

indexes = [(i, j) for i, nl in enumerate(l) for j, nle in enumerate(nl)]
print(*indexes, sep="\n")

# output
(0, 0)
(0, 1)
(0, 2)
(1, 0)
(1, 1)
(1, 2)
(2, 0)
(2, 1)
(2, 2)

https://docs.python.org/3/library/functions.html#enumerate


推荐阅读