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 に答える