我正在使用python 3.2.0和numpy。我想检查其中一个数组是否在两个其他指定数组之间。如果你一起建议一个或多个功能我想要它。任何帮助都表示赞赏,因为它是一个学校项目,我需要快速提交。
答案 0 :(得分:0)
如果你的意思是arr1的最后一项如何小于input_arr的所有项,并且arr2的第一项大于input_arr中的所有项,你可以这样做,其中“最大”的是arr1和“最小”的ARR2:
biggest = arr1[len(arr1)-1]
smallest = arr2[0]
between=True
for item in input_arr:
if not (biggest<item and smallest>item):
between=False
break
或者,您可以更改&lt;和/或&gt;到&lt; =或&gt; =如果你允许等于(所以[1,3,4],[4,6,8],[8,17,18]为真)
这假定列表是连续的。如果它们不是,你将不得不循环通过arr1找到最大的数字,而arr2则找到最小的数字。
biggest=0
for item in arr1:
if item>biggest:
biggest=item
smallest=arr2[0]
for item in arr2:
if item<smallest:
smallest = item
将此作为骨架指南,不要只复制和粘贴。如果你不理解它,因此无法构建自己的版本,你可能需要做一些在线课程(例如Codecademy)。同时,如果需要,先复制第二位,然后复制第一位。
答案 1 :(得分:0)
如果您有3个阵列,
#lower bound
In[1]: small = np.zeros((3,3))
#Array we are testing
In[2]: test = np.ones((3,3))
#Upper bound
In[3]: large = np.ones((3,3))*2
然后你可以做一个logical_and
并用大小
In[4]: np.logical_and(small<=testm,testm<=large).sum() == l.size
out[4]: True