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

回答編集履歴

2

追記

2017/08/21 09:06

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -39,4 +39,24 @@
39
39
  要素の指定は`84-k`ではなく`83-k`とすべきです。
40
40
 
41
41
  **結論**
42
- rat_lavの定義と、使い方に齟齬が生じています。
42
+ rat_lavの定義と、使い方に齟齬が生じています。
43
+
44
+ **修正の方針**
45
+ 定義部は、次のようにすればよいと思います。(動作検証していません)
46
+ ``` Python
47
+ rat_lav = []
48
+ for i in range(84):
49
+ tmp = []
50
+ for j in range(84):
51
+ matcher = matching_hist(histtest[i:i+1, 0:], histrain[j:j+1, 0:])
52
+ matcher = float(matcher)
53
+ tmp.append((matcher, j))
54
+
55
+ rat_lav.append(tmp)
56
+ ```
57
+
58
+ ついでに最深部のリストをタプルに変更しました。
59
+
60
+ 利用部については、そもそも最初のif文は必要ないのかな?と思いました。
61
+ 正しくコードが組めているなら、常に真になるはずでしょうから。
62
+ 参照するときは、`rat_lav[i][83-k][1]`といったような書き方になるでしょう。

1

修正

2017/08/21 09:06

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -34,6 +34,9 @@
34
34
  > ```
35
35
 
36
36
  このときkの値は0~83ですので、『最初の84要素』しか常に見ていないことになります。
37
+ - **追記**
38
+ kが0のときは、『次の84要素』を参照しています。
39
+ 要素の指定は`84-k`ではなく`83-k`とすべきです。
37
40
 
38
41
  **結論**
39
42
  rat_lavの定義と、使い方に齟齬が生じています。