Python 2.7を使用すると、〜0.000から〜360.000までの値の配列が複数回あります。私は147.010に近い値を持つすべての配列インデックスを返そうとしています(値が重複していても)ので、後でそれぞれのインデックスを使用することができます。例えば、1列から小さい方のサンプルは以下のとおりです。私は、この場合には、147.01に最も近いインデックスの配列、またはリスト、ためPython配列で指定された数に近い値を見つけよう
array([ 146.749, 147.249, 147.749, 146.749, 147.249, 147.749, 146.749, 147.263, 147.749, 146.472, 147.469, 148.471])
探しています次のようになります。
1, 4, 7, 10
私が試してみました
この:
min(range(len(array)), key=lambda i: abs(array[i]-some_value))
が、複数のインデックスが必要な場合にのみ、一つのインデックスを返します。私は見ましたが、似たような質問や答えは見つかりませんでした。何か助けてくれてありがとう。
問題は最も近い商品を見つけようとしていることですが、何回も何回欲しいのですか?たとえば、最も近いものがリストから削除されるたびに、次に続けるなど、制限を設定する必要があります。そうしないと、最後にすべての値が返されます。重複の場合は –
です。単純です。見つかった最も近い値に等しいすべての値のインデックスなどです。 –
あなたはn個の最も近い数字、または[x-d、x + d]の間隔内のすべての数字を探していますか? – Markus