我有一個(gè)類似于[[0,1,2],[9,5,3],[7,0,2]]給定值的嵌套列表4,如何獲得與給定值最接近的值的列表?我看到使用min()可能會(huì)有所幫助,但我不確定它是如何工作的。這是唯一的方法還是有其他選擇?預(yù)期輸出: [9,5,3]
1 回答
慕俠2389804
TA貢獻(xiàn)1719條經(jīng)驗(yàn) 獲得超6個(gè)贊
您確實(shí)可以使用min()但具有自定義鍵功能:
>>> lst = [[0,1,2],[9,5,3],[7,0,2]]
>>> v = 4
>>> min(lst, key = lambda x: min(abs(i-v) for i in x))
[9, 5, 3]
讓我們稍微分解一下:
>>> [min(abs(i-v) for i in x) for x in lst]
[2, 1, 2]
>>> [[abs(i-v) for i in x] for x in lst]
[[4, 3, 2], [5, 1, 1], [3, 4, 2]]
如果存在平局(即聯(lián)合最小值),則min()返回第一個(gè)實(shí)例
添加回答
舉報(bào)
0/150
提交
取消
