python - 列表操作

时间:2010-07-19 14:21:18

标签: python list

给定一个未分类的数字列表,我想找到大于N的最小数字(如果有的话)。

在C#中,我会做这样的事情(省略检查):

var x = list.Where(i => i > N).Min();

在Python中执行此操作的简短,可读的方法是什么?

4 个答案:

答案 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)