我想编写一个返回大于或等于x
的数组值的函数
这是我的代码:
def threshold(a,x):
b = a[x:]
return b
如果x
为3
且a
为[1,2,3,4,5]
,则该函数将返回[3,4,5]
**忘了提及值可能没有排序。输入可以是[1,3,2,5,4],如果x是3 **则必须返回[3,4,5]
答案 0 :(得分:5)
使用生成器表达式和sorted
:
>>> def threshold(a, x):
... return sorted(item for item in a if item >= x)
...
>>> threshold([1,3,2,5,4], 3)
[3, 4, 5]
答案 1 :(得分:2)
使用内置函数filter
是另一种方法:
def threshold(a, x):
return filter(lambda e: e>= x, a)
>>> threshold([1, 3, 5, 2, 8, 4], 4)
[5, 8, 4]
答案 2 :(得分:1)
这是另一个版本
threshold = (lambda a, x :filter(lambda element: element >= x, a))
答案 3 :(得分:0)