ホームページ > バックエンド開発 > Python チュートリアル > リスト内の指定された値に最も近い数値を見つけるにはどうすればよいですか?

リスト内の指定された値に最も近い数値を見つけるにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-11 06:24:02
オリジナル
784 人が閲覧しました

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート