Python 如何从函数中删除负输出?
我使用了一个函数来计算两个值之间的差值。通过打印下面函数的输出,答案范围为-5到4。但是,我只希望函数仅显示肯定答案(即:1到4)。 是否可以忽略负值而不改变x的边界,也不改变a的值Python 如何从函数中删除负输出?,python,python-3.x,numpy,Python,Python 3.x,Numpy,我使用了一个函数来计算两个值之间的差值。通过打印下面函数的输出,答案范围为-5到4。但是,我只希望函数仅显示肯定答案(即:1到4)。 是否可以忽略负值而不改变x的边界,也不改变a的值 import numpy as np L = 10 a = 5 def position(x,a): return x-a x = np.arange(0.0, L, 1) print (position(x,a)) [-5. -4. -3. -2. -1. 0. 1. 2. 3.
import numpy as np
L = 10
a = 5
def position(x,a):
return x-a
x = np.arange(0.0, L, 1)
print (position(x,a))
[-5. -4. -3. -2. -1. 0. 1. 2. 3. 4.]
这可能会有所帮助,例如过滤numpy数组
import numpy
arr = numpy.array([-1.1, 0.0, 1.1])
print(arr)
bools = arr >= 0.0 # define selection
print(bools)
# filter by "bools"
print(arr[bools])
这可能会有所帮助,例如过滤numpy数组
import numpy
arr = numpy.array([-1.1, 0.0, 1.1])
print(arr)
bools = arr >= 0.0 # define selection
print(bools)
# filter by "bools"
print(arr[bools])
根据我从你的问题中得出的结论,这应该是可行的:
result = list(filter(lambda x:x>=0, position(x,a))
根据我从你的问题中得出的结论,这应该是可行的:
result = list(filter(lambda x:x>=0, position(x,a))
若要仅保留满足条件的值,请在示例中使用逻辑索引:
y[y>0]
若要仅保留满足条件的值,请在示例中使用逻辑索引:y[y>0]
OP要求的值仅为正值,所以它不应该是>0
?(在他的“i.e.”中,我的意思是——他在其他地方前后矛盾……。@DSM yep,没错。是的,根据文章的哪一部分,答案也可能是否定的。)OP只要求肯定的,那么它不应该是>0
?(在他的“i.e.”中,我的意思是——他在其他地方前后矛盾……。@DSM yep,没错。是的,根据文章的哪一部分,答案也可能是否定的。这应该行得通,但与其他建议相比太复杂了。尽管如此,它可能需要更少的内存。这应该是可行的,但与其他建议相比太复杂了。然而,它可能需要更少的内存。