我想知道是否有人可以帮助我解决家庭作业问题。
编写一个函数 func(a,x),它接受一个数组 a, x 是两个数字,并返回一个仅包含 a 的值大于或等于 x 的数组
我有
def threshold(a,x):
for i in a:
if i>x: print i
但这是错误的方法,因为我没有将它作为数组返回。有人可以提示我正确的方向。非常感谢提前
使用列表推导:
[i for i in a if i>x]
使用内置功能filter()
:
In [59]: lis=[1,2,3,4,5,6,7]
In [61]: filter(lambda x:x>=3,lis) #return only those values which are >=3
Out[61]: [3, 4, 5, 6, 7]
您可以使用列表理解:
def threshold(a, x):
return [i for i in a if i > x]
def threshold(a,x):
vals = []
for i in a:
if i >= x: vals.append(i)
return vals
我认为作业问题是实际实现一个过滤器功能。不只是使用内置的。
def custom_filter(a,x):
result = []
for i in a:
if i >= x:
result.append(i)
return result