如何在Python中返回列表索引

时间:2013-12-09 20:17:32

标签: python list indexing

我有一个列表U列表U=[a[1], a[2], a[3]]a = [[0,1,2], [0,0,0],[1,1,1]]。 我试图以一种只包含没有2的列表的方式来改变U.我知道如果我想要U = [a[2], a[3]]我必须这样做:

for j in range (0,2):
    U= [f for f in U if f[j]!=2]

但是现在我希望它只返回列表的索引,我的意思是最后U应该是[2,3]。 有可能吗?

感谢您的帮助!

3 个答案:

答案 0 :(得分:2)

使用enumerate

[i for i, j in enumerate(a) if 2 not in j]

请注意,Python中的列表索引从0开始,而不是从1

开始

答案 1 :(得分:2)

使用enumerate

>>> a = [[0,1,2],[0,0,0],[1,1,1]]
>>> [i for i, x in enumerate(a, 1) if 2 not in x]
[2, 3]

答案 2 :(得分:0)

你可以使用索引 [U.index(l) for l in U if not 2 in l]