Python - 在列表中查找最接近0的整数

时间:2012-08-12 16:09:37

标签: python algorithm list numbers

  

可能重复:
  finding index of an item closest to the value in a list that's not entirely sorted

我在Python中有一个正数和负数的列表([237, 72, -18, 237, 236, 237, 60, -158, -273, -78, 492, 243])。我想找到最接近0的数字。我该怎么做?

2 个答案:

答案 0 :(得分:35)

这个怎么样:

lst = [237, 72, -18, 237, 236, 237, 60, -158, -273, -78, 492, 243]
min((abs(x), x) for x in lst)[1]

一个不错的答案:

min(lst, key=abs)

答案 1 :(得分:2)

reduce(lambda x, y : x if abs(y) > abs(x) else y, your_sequence)