0
私はブロックが終了したことを示す特別な行で区切られた行のブロックで構成されるファイルを持っています。ファイルを1行ずつ解析し、Pythonの方法で行の関数の最小値を計算する
セイ、ファイルは次のようになります。私は値loss(x)
を計算し、私は、各ブロックのための最高の値を保存したい、つまり最後に私が与えるリストをしたい各行の
1
5
BLOCK END
13
BLOCK END
3
4
5
BLOCK END
ブロックごとに、ブロックのすべての値に対して最小値の関数loss
が必要です。
だから出力 [min(f(1),f(5)),f(13),...]
次のコードに等しいことを行います
best_value = np.inf
with open(path) as f:
for line in f:
if line_means_block_ended():
block_values.append(best_block_value)
best_value = np.inf
else:
best_block_value = min(candidate(line), best_value , key = loss)
print block_values
私はこのコードが原因np.inf
に初期化し、ハードコードされたmin
計算、最適ではないと感じ。もっとPythonicな方法がありますか?
ファイルのサンプルとそのサンプルの出力を投稿できる場合、私たちはあなたの意図をよりよく理解してくれます。 –
よろしくお願いします。 – Emolga