Dada una lista de números positivos y negativos, encontrar el número más cercano al 0 (cero).

Muestra de datos:

[237, 72, -18, 237, 236, 237, 60, -158, -273, -78, 492, 243]

In [1]:
lst = [237, 72, -18, 237, 236, 237, 60, -158, -273, -78, 492, 243]
min(lst, key=abs)


Out[1]:
-18

Breve explicación

La función min() tiene entre tus parámetros el paso de un "key" que será usado para determinar el mínimo. En este caso estamos usando la función abs que hará la magia. Sin él, el valor devuelto sería -273 (usando la muestra de datos provista)


Créditos

Basado en la respuesta a Python - find integer closest to 0 in list [duplicate] de Óscar López

Espartaco Palma (@esparta)

Este obra está bajo una licencia Licencia Creative Commons Atribución 3.0.