index - ¿Lista mínima en Python con None?
python max index (2)
¿Hay alguna función inteligente integrada o algo que devuelva 1
para el siguiente ejemplo de min()
? (Apuesto a que hay una razón sólida para que no devuelva nada, pero en mi caso particular, lo necesito para ignorar los valores de None
, ¡muy malos!)
>>> max([None, 1,2])
2
>>> min([None, 1,2])
>>>
utilizando una expresión generadora:
>>> min(value for value in [None,1,2] if value is not None)
1
eventualmente, puedes usar el filtro:
>>> min(filter(lambda x: x is not None, [None,1,2]))
1
None
esta siendo devuelto
>>> print min([None, 1,2])
None
>>> None < 1
True
Si desea devolver 1
, debe filtrar None
:
>>> L = [None, 1, 2]
>>> min(x for x in L if x is not None)
1