Есть ли любая умная встроенная функция или что-то, что возвратится 1
для min()
пример ниже? (Я держал пари, что существует веская причина его для не возврата чего-либо, но в моем особом случае мне нужен он для игнорирования None
значения действительно плохо!)
>>> max([None, 1,2])
2
>>> min([None, 1,2])
>>>
Нет
не возвращается
>>> print min([None, 1,2])
None
>>> None < 1
True
Если вы хотите вернуть 1
, вы должны отфильтровать Нет
прочь:
>>> L = [None, 1, 2]
>>> min(x for x in L if x is not None)
1
с использованием выражения генератора:
>>> min(value for value in [None,1,2] if value is not None)
1
в конечном итоге вы можете использовать фильтр:
>>> min(filter(lambda x: x is not None, [None,1,2]))
1