Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python帮助--如何从1D数组中提取特定范围的值?_Python_Arrays - Fatal编程技术网

Python帮助--如何从1D数组中提取特定范围的值?

Python帮助--如何从1D数组中提取特定范围的值?,python,arrays,Python,Arrays,在python中,是否有一个命令允许我提取给定数组的特定子集 例如,假设我有以下1D数组: x = np.array([1,0,35,9,1,23,10,2,4,8,3]) 如何获得2到10之间的唯一元素?因此,我希望输出类似于: subx = [9,2,4,8,3] 我只是想澄清一下,我不想要指数。我只需要这些值。其中一种方法是使用列表理解 注:含2为下限,不含10为上限 x = [1,0,35,9,1,23,10,2,4,8,3] y = [c for c in x if c >=

在python中,是否有一个命令允许我提取给定数组的特定子集

例如,假设我有以下1D数组:

x = np.array([1,0,35,9,1,23,10,2,4,8,3])
如何获得2到10之间的唯一元素?因此,我希望输出类似于:

subx = [9,2,4,8,3]

我只是想澄清一下,我不想要指数。我只需要这些值。

其中一种方法是使用
列表理解

注:含2为下限,不含10为上限

x = [1,0,35,9,1,23,10,2,4,8,3]
y = [c for c in x if c >=2 and c<10]
方法2:

import numpy as np
x = np.array([1,0,35,9,1,23,10,2,4,8,3])
y = x[(x>=2) * (x<10)]
将numpy导入为np
x=np.数组([1,0,35,9,1,23,10,2,4,8,3])
y=x[(x>=2)*(x希望这有帮助

a=[1,0,35,9,1,23,10,2,4,8,3]
li=[]
for ele in a:
    if ele in range(2,10):
        li.append(ele)
print(li)

输出:

[9, 2, 4, 8, 3]

由于您使用的是numpy阵列,因此可以执行以下操作:

x[(x >= 2) & (x < 10)]
x[(x>=2)和(x<10)]

请注意,您的numpy版本没有产生所需的输出。您可以通过索引
[0]来更正它
最后。您的第二个选项似乎不起作用。是否有输入错误?这不是输入错误。我在Linux机器上使用的是
numpy-1.18.2
。您会遇到什么错误?我犯了一个错误。在修复它之后,您的方法似乎确实起作用。当我尝试此操作时,我会遇到以下错误:TypeError:“>=”在“列表”a的实例之间不受支持nd'int'@HelixFossil,那么你有一个列表,与你在问题中所显示的相反。你是对的。我在测试你的解决方案时很马虎。通过实际使用np.array,这个解决方案有效!
x[(x >= 2) & (x < 10)]