前提・実現したいこと
xの値が入ったリスト(コード内x_result_list),yの値が入ったリスト(コード内y_displacement_list)を持っています.この二つのリストの要素数は同じで,i番目のxの値はi番目のyの値に対応しています.
この二つのリストの対して,xの値が等しい中でyの値の最小値を求め,その最小値をリスト(コード内y_displacement_list2)に保存したいです.また,その際にyの最小値に対応するxの値を保存したリスト(コード内x_result_list2)も作りたいです.
持っていいるリスト
x_result_list = [2, 2, 3, 4, 2, 5, 6, 6, 7, 8]
y_displacement_list = [50, 10, 30, 40, 20, 50, 16, 60, 70, 20]
欲しい結果
x_result_list2 = [2, 3, 4, 5, 6, 7, 8]
y_displacement_list2 = [10, 30, 40, 50, 16, 70, 20]
発生している問題・エラーメッセージ
目的の結果が得られません.x_result_list2内には同じxの値は存在しないはずなのですが結果は以下のようになります.
x_result_list2 = [2, 2, 2, 3, 4, 2, 5, 6, 6, 7, 8]
y_displacement_list2 = [10, 10, 10, 16, 16, 16, 16, 16, 16, 20, 20]
### 該当のソースコード ```ここに言語名を入力
x_result_list = [2, 2, 3, 4, 2, 5, 6, 6, 7, 8]
y_displacement_list = [50, 10, 30, 40, 20, 50, 16, 60, 70, 20]
x_result_list2 = []
y_displacement_list2 = []
for i in range(0, len(x_result_list)):#iはx_result_list内を巡回するループ
if x_result_list[i-1] != x_result_list[i]:#一度最小値求めたxの値については計算しない
for j in range(i, len(x_result_list)):#jはx_result_list内を巡回するループ
if x_result_list[i] == x_result_list[j]:
x_result_list2.append(x_result_list[i])
min_value = y_displacement_list[i]#暫定最小値をセット
for k in range(i, len(x_result_list)):
if y_displacement_list[k] < min_value:
min_value = y_displacement_list[k]#最小値を更新
y_displacement_list2.append(min_value)
### 試したこと ここに問題に対して試したことを記載してください。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー