Python查找列表列表的索引

时间:2018-10-27 14:39:50

标签: python-3.x

我正在尝试在列表的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))

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

screenshot of output for a slightly different list

我想要实现的是这样的输出:

0
1
0
2
0
3
1
0
1
0

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

2 个答案:

答案 0 :(得分:0)

您可以枚举以打印索引

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

答案 1 :(得分:0)

通过使用enumerate循环遍历列表,您可以轻松地使用和访问索引和值。我添加了一些印刷文字,以显示什么是数字。

myList = [[1,2,3],
        [4,5,6],
        [7,8,9]]

for lstIdx, lst in enumerate(myList):
    print("list idx: " + str(lstIdx))
    for idx, item in enumerate(lst):
        print("item idx in list: " + str(idx))

输出:

list idx: 0
item idx in list: 0
item idx in list: 1
item idx in list: 2
list idx: 1
item idx in list: 0
item idx in list: 1
item idx in list: 2
list idx: 2
item idx in list: 0
item idx in list: 1
item idx in list: 2