如何查看给定数组是否在两个数组之间
How to see if a given array is between two arrays
我正在使用 python 3.2.0 和 numpy。我想检查其中一个数组是否在另外两个指定数组之间。如果您同时建议一个功能或几个功能,我会很高兴。感谢任何帮助,因为这是一个学校项目,我需要快速提交。
如果你的意思是 arr1 的最后一项小于 input_arr 的所有项,并且 arr2 的第一项大于 input_arr 中的所有项,你可以这样做,用arr1 的 "biggest" 和 arr2 的 "smallest":
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
或者,如果您允许等于(因此 [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)。同时,如果需要,先复制第二位,然后是第一位。
如果你有 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
我正在使用 python 3.2.0 和 numpy。我想检查其中一个数组是否在另外两个指定数组之间。如果您同时建议一个功能或几个功能,我会很高兴。感谢任何帮助,因为这是一个学校项目,我需要快速提交。
如果你的意思是 arr1 的最后一项小于 input_arr 的所有项,并且 arr2 的第一项大于 input_arr 中的所有项,你可以这样做,用arr1 的 "biggest" 和 arr2 的 "smallest":
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
或者,如果您允许等于(因此 [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)。同时,如果需要,先复制第二位,然后是第一位。
如果你有 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