我有一个包含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]]
我有一个包含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]]
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:)