Подтвердить что ты не робот

Операции python-list

Учитывая список несортированных чисел, я хочу найти наименьшее число, большее N (если оно есть).

В С# я бы сделал что-то вроде этого (чеки пропущены):

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

Какой короткий, READABLE способ сделать это в Python?

4b9b3361

Ответ 1

>>> l = [4, 5, 12, 0, 3, 7]
>>> min(x for x in l if x > 5)
7

Ответ 2

min(x for x in mylist if x > N)

Ответ 3

Другие люди дали ответы на список. В качестве альтернативы filter полезно для "фильтрации" элементов списка.

min(filter(lambda t: t > N, mylist))

Ответ 4

x = min(i for i in mylist if i > N)