Ответ 1
>>> l = [4, 5, 12, 0, 3, 7]
>>> min(x for x in l if x > 5)
7
Учитывая список несортированных чисел, я хочу найти наименьшее число, большее N (если оно есть).
В С# я бы сделал что-то вроде этого (чеки пропущены):
var x = list.Where(i => i > N).Min();
Какой короткий, READABLE способ сделать это в Python?
>>> l = [4, 5, 12, 0, 3, 7]
>>> min(x for x in l if x > 5)
7
min(x for x in mylist if x > N)
Другие люди дали ответы на список. В качестве альтернативы filter
полезно для "фильтрации" элементов списка.
min(filter(lambda t: t > N, mylist))
x = min(i for i in mylist if i > N)