给定一个未分类的数字列表,我想找到大于N的最小数字(如果有的话)。
在C#中,我会做这样的事情(省略检查):
var x = list.Where(i => i > N).Min();
在Python中执行此操作的简短,可读的方法是什么?
答案 0 :(得分:19)
>>> l = [4, 5, 12, 0, 3, 7]
>>> min(x for x in l if x > 5)
7
答案 1 :(得分:4)
min(x for x in mylist if x > N)
答案 2 :(得分:3)
其他人已经给出了列表理解答案。作为替代,filter
对于“过滤”列表元素非常有用。
min(filter(lambda t: t > N, mylist))
答案 3 :(得分:2)
x = min(i for i in mylist if i > N)