当元素不符合条件时删除数组行

我有一个包含x行3列的2D数组,每列都有一个条件,当其中一个元素不满足约束条件时如何删除行

For example:
5<[:,0]<10
5<[:,1]<10
1<[:,2]<3

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

Result should be
[[9,1]]
mayflow 回答:当元素不符合条件时删除数组行

def comply(row):
    if row[0] > 5 and row[0] < 10 and row[1] > 5 and row[1] < 10 and row[2] > 1 and row[2] < 3:
        return True
    else:
        return False


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

for row in A:
    if comply(row):
        result.append(row)

,

下面的表达式仅获取符合条件的行。

new = arr[(arr >= [5,1]).all(1) & (arr < [10,10,3]).all(1)]

要获得预期结果,您需要将条件更改为>=,因为1不大于1:)

本文链接:https://www.f2er.com/3149500.html

大家都在问