14

可能重复:
查找最接近未完全排序的列表中的值的项目的索引

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

4

2 回答 2

51

这个怎么样:

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)
于 2012-08-12T16:12:48.847 回答
3
reduce(lambda x, y : x if abs(y) > abs(x) else y, your_sequence)
于 2012-08-12T16:16:50.063 回答