我有一个列表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]