私は、Pythonの配列から有効な値だけを効率的に抽出する方法を探しています。例えば、残りの10倍のような大きな値があります。非常に単純なケースを使用して論理(NOコード)は、そのようなものである:配列から重要な値を抽出する
array = [5000, 400, 40, 10, 1, 35] # here the significant value will be 5000.
from i=0 to len.array # to run the procedure in all the array components
delta = array[i]/array [i+1] # to confirm that array[i] is significant or not.
if delta >= 10 : # assuming a rule of 10X significance i.e significance = 10 times bigger than the rest of elements in the array.
new_array = array[i] # Insert to new_array the significant value
elif delta <= 0.1 : # in this case the second element is the significant.
new_array = array[i+1] # Insert to new_array the significant value
端new_arrayに有意な値で構成され、この場合new_array = [5000]で、任意の種類に適用されなければなりません配列の。
ありがとうございました!
UPDATE !!!
お返事ありがとうございます!特に私にそれをする方法についての良いアイデアをくれたCopperfieldに尋ねた。目的のために働くコードはここにあります!
array_o = [5000,4500,400, 4, 1, 30, 2000]
array = sorted(array_o)
new_array = []
max_array = max(array)
new_array.append(max_array)
array.remove(max_array)
for i in range(0,len(array)):
delta = max_array/array[i]
if delta <= 10:
new_array.append(array[i])
'new_array'には常に1つの値しか含まれないということですか?あなたのケースでは 'new_array'に' 400'も追加しなければならないからです。 – ettanany
最初に空の配列として 'new_array'を初期化し、探している' delta'を満たす新しい項目を 'append()'します。 –
あなたは '[5001、5000、400、40、10、1、35]'から何を抽出しますか? –