簡體   English   中英

查找最接近cerain值的數字

[英]Finding number closest to cerain value

我有一個元組列表:

lst = [('54', '1.74', '253.2'), ('342', '2.85', '13.46'), ('53','2.43', '15.63')]

我想找到位於位置[1]最接近2.0的元組

我像這樣去:

number = lst[0][1]
for i in lst:
    if abs(float(i[1]) - 2) < float(number):
        number = i[1]
        if number in i:
            print i

但是,當我嘗試將字符串轉換為浮點型時,會引發異常; /如何實際執行此操作?

這應該可以解決問題...

min(lst,key=lambda x: abs(float(x[0]) - 2))

min函數將基於key函數比較列表中的每個元素。

演示:

>>> lst = [('1.74', '253.2'), ('2.85', '13.46'), ('2.43', '15.63')]
>>> min(lst,key=lambda x: abs(float(x[0]) - 2))
('1.74', '253.2')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM