首頁 > 後端開發 > Python教學 > 如何找到清單中最接近給定值的數字?

如何找到清單中最接近給定值的數字?

Barbara Streisand
發布: 2024-11-11 06:24:02
原創
782 人瀏覽過

How to Find the Closest Number in a List to a Given Value?

在列表中找到與給定值最接近的數字

給定一個整數列表,您可能需要確定哪個數字最接近到給定值。可以使用以下方法有效地解決此任務:

未排序清單:

如果輸入清單未排序,您可以使用內建的min() 函數有一個關鍵論點。這使您可以找到與目標值的絕對差最小的元素。

>>> myList = [4, 1, 88, 44, 3]
>>> myNumber = 5
>>> min(myList, key=lambda x: abs(x - myNumber))
4
登入後複製

此方法需要 O(n) 時間,因為它會迭代整個清單。

排序清單:

或者,如果清單已經排序或您願意對其排序一次,您可以採用二分法。此技術使用二分查找來定位目標值的插入點,有效地在 O(log n) 時間內找到最接近的元素。以下是使用 Python 的 bisect 模組的範例實作:

>>> from bisect import bisect_left
>>> myList = sorted([4, 1, 88, 44, 3])
>>> myNumber = 5
>>> bisect_left(myList, myNumber)
2
>>> myList[2]
4
登入後複製

以上是如何找到清單中最接近給定值的數字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板