2016-11-08 71 views
1

我有兩個數組,我想根據另一個的值選擇其中一個的一個部分。我知道如何通過幾行來做到這一點,但我想知道是否有一種更簡潔的方式來實現這一點。這就是我如何做到這一點,它是漫長而醜陋的。基於另一個數組中的值在一行中選擇一個數組的子集,python

lower = some_value; upper = another_value 
a = [some numpy array]; b = [another numpy array] 
b_select = [] 
for i in range(len(a)): 
    if a[i] < lower or a[i] > upper: 
     b_select.append(b[i]) 

所以基本上我的問題是,我可以在一行中獲得b_select,而不是最後4行嗎?

任何意見將不勝感激。對於我在Python 2.7中做的這個信息。

回答

0

除非numpy的有一些奇怪的數組這應該工作:

b_select = [x for x in a if (x < lower or x > upper)] 
相關問題