根据项条件在两个列表中查找索引

Mik*_*ike 7 python indexing list data-structures

可以说我有两个清单.它们是从-5到5的书籍评级列表.

我想知道list1的元素是什么时候>= 1和list2的元素== 0,例如.

list1 = [3, 3, 1, 0, 3, 0, 3, 0, 0, -3, 0, 5, 3, 0, 1, 0, 0, 5, 3, 0, 0, 0, 0, 1, 0, 3, 0, 1, 0, 0, 3, 5, 3, 3, 0, 0, 0, 5, 0, 5, 0, 3, 3, 0, -3, 0, 0, 5, 1, 5, 3, 0, 3, 0, 0]
list2 = [5, 0, 0, 0, 0, 0, 5, 0, 0, 1, 0, 5, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 5, 0, 0, 0, 0, 5, 5, 5, 3, 0, 0, 0, 3, 0, 0, 0, 5, 3, 0, 0, 0, 0, 5, 0, 5, 3, 0, 0, 0, 0]
Run Code Online (Sandbox Code Playgroud)

list1[1] = 3并且list2[1] = 0,我希望能够找到发生这种情况的所有不同索引.

对不起,如果这令人困惑,但我真的不知道怎么说这个.

Pra*_*ota 11

>>> [i for i, v in enumerate(list1) if v>=1 and list2[i]==0]
[1, 2, 4, 14, 18, 27, 39, 48, 52]
Run Code Online (Sandbox Code Playgroud)


Rom*_*huk 7

另一个变种:

>>> [i for i, (l1, l2) in enumerate(zip(list1, list2)) if l1 >= 1 and l2 == 0]
[1, 2, 4, 14, 18, 27, 39, 48, 52]
Run Code Online (Sandbox Code Playgroud)