有条件地从两个数组中删除

时间:2017-05-12 09:28:45

标签: python arrays list

我想根据第二个数组中元素的条件从数组中删除元素。

例如

array1 = [1,2,3,4]
array2 = [5,4,3,2]
condition = 4

我想要一个扫描第二个数组的循环,如果索引值高于条件,它将从第一个数组中删除该索引。我对伪代码的尝试是:

for i in range(len(array2)):
    if array2[i] > condition:
        array1.pop(i)

会导致

array1 = [2,3,4]

我认为使用列表理解有更多的pythonic方式。我的阵列长约4000,而且我会做几次。

谢谢!

1 个答案:

答案 0 :(得分:4)

列表理解将如下所示:

[a for a, b in zip(array1, array2) if b <= condition]