teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

分かりやすくサンプルで示しました

2020/10/14 13:13

投稿

mk_taro5
mk_taro5

スコア5

title CHANGED
File without changes
body CHANGED
@@ -3,42 +3,39 @@
3
3
  この二つのリストの対して,xの値が等しい中でyの値の最小値を求め,その最小値をリスト(コード内y_displacement_list2)に保存したいです.また,その際にyの最小値に対応するxの値を保存したリスト(コード内x_result_list2)も作りたいです.
4
4
 
5
5
  持っていいるリスト
6
- x_result_list=
6
+ x_result_list = [2, 2, 3, 4, 2, 5, 6, 6, 7, 8]
7
- [56, 56, 56, 56, 56, 55, 55, 55, 55, 32, 32, 32, 32, 31, 31, 31, 31, 31, 31, 21, 21, 21, 20, 20, 20, 20, 11, 11, 11, 10, 10, 10, 10, 10, 9, 9, 9, 9, 4, 4, 4, 4, 4,
7
+ y_displacement_list = [50, 10, 30, 40, 20, 50, 16, 60, 70, 20]
8
- 中略
9
- 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 97, 97, 97, 97, 97, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111]
10
8
 
9
+ 欲しい結果
10
+ x_result_list2 = [2, 3, 4, 5, 6, 7, 8]
11
- y_displacement_list=
11
+ y_displacement_list2 = [10, 30, 40, 50, 16, 70, 20]
12
- [-73, -8, -23, -26, 74, -70, -8, 113, 74, -66, -64, 17, 163, -65, -63, 21, 18, 163, 162, 26, 159, 157, -54, 27, 160, 158, -44, -43, 151, -6, -44, -45, -9, 152, -40,
13
- 中略
14
- -197, -198, 0, 29, -231, -230, -188, -189, -226, -227, -29, 0, -230, -229, -33, -31, 0, -125, -124, -51, -50, -32, -31, 0, 1, -126, -125, -52, -51, -33, -32, -1, 0]
15
12
 
16
13
  ### 発生している問題・エラーメッセージ
17
14
 
18
15
 
19
16
  目的の結果が得られません.x_result_list2内には同じxの値は存在しないはずなのですが結果は以下のようになります.
20
- x_result_list2=
17
+ x_result_list2 = [2, 2, 2, 3, 4, 2, 5, 6, 6, 7, 8]
21
- [56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 32, 32, 32, 32, 32, 32, 32, 32,
18
+ y_displacement_list2 = [10, 10, 10, 16, 16, 16, 16, 16, 16, 20, 20]
22
- 中略
23
- 97, 97, 97, 97, 97, 97, 97, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 97, 97, 97, 97, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111]
24
19
 
25
20
 
26
-
27
21
  ```
28
22
 
29
23
  ### 該当のソースコード
30
24
 
31
25
  ```ここに言語名を入力
32
26
  ```
27
+ x_result_list = [2, 2, 3, 4, 2, 5, 6, 6, 7, 8]
28
+ y_displacement_list = [50, 10, 30, 40, 20, 50, 16, 60, 70, 20]
29
+
33
30
  x_result_list2 = []
34
31
  y_displacement_list2 = []
35
32
  for i in range(0, len(x_result_list)):#iはx_result_list内を巡回するループ
36
33
  if x_result_list[i-1] != x_result_list[i]:#一度最小値求めたxの値については計算しない
37
- for j in range(i+1, len(x_result_list)):#jはi+1番目からx_result_list内を巡回するループ
34
+ for j in range(i, len(x_result_list)):#jはx_result_list内を巡回するループ
38
35
  if x_result_list[i] == x_result_list[j]:
39
36
  x_result_list2.append(x_result_list[i])
40
37
  min_value = y_displacement_list[i]#暫定最小値をセット
41
- for k in range(i+1, len(x_result_list)):
38
+ for k in range(i, len(x_result_list)):
42
39
  if y_displacement_list[k] < min_value:
43
40
  min_value = y_displacement_list[k]#最小値を更新
44
41
  y_displacement_list2.append(min_value)

1

書式の改善

2020/10/14 13:13

投稿

mk_taro5
mk_taro5

スコア5

title CHANGED
File without changes
body CHANGED
@@ -29,6 +29,7 @@
29
29
  ### 該当のソースコード
30
30
 
31
31
  ```ここに言語名を入力
32
+ ```
32
33
  x_result_list2 = []
33
34
  y_displacement_list2 = []
34
35
  for i in range(0, len(x_result_list)):#iはx_result_list内を巡回するループ
@@ -41,6 +42,8 @@
41
42
  if y_displacement_list[k] < min_value:
42
43
  min_value = y_displacement_list[k]#最小値を更新
43
44
  y_displacement_list2.append(min_value)
45
+
46
+
44
47
  ```
45
48
 
46
49
  ### 試したこと