回答編集履歴
2
追記
answer
CHANGED
@@ -47,4 +47,26 @@
|
|
47
47
|
が、言語仕様上それを信頼していいのかは、ちょっと自信がないです。
|
48
48
|
|
49
49
|
[collections.OrderedDict](https://docs.python.jp/3/library/collections.html#collections.OrderedDict)とかもありますが...
|
50
|
-
リストで対応できる場合はそうした方が手間がかからないかと思います。
|
50
|
+
リストで対応できる場合はそうした方が手間がかからないかと思います。
|
51
|
+
|
52
|
+
ついでに
|
53
|
+
---
|
54
|
+
同様のエラーを起こしてみた。
|
55
|
+
```Python
|
56
|
+
>>> a = np.array([1])
|
57
|
+
>>> a
|
58
|
+
array([1])
|
59
|
+
>>> a.shape
|
60
|
+
(1,)
|
61
|
+
>>> a.shape[0]
|
62
|
+
1
|
63
|
+
>>> b = np.array(1)
|
64
|
+
>>> b
|
65
|
+
array(1)
|
66
|
+
>>> b.shape
|
67
|
+
()
|
68
|
+
>>> b.shape[0]
|
69
|
+
Traceback (most recent call last):
|
70
|
+
File "<stdin>", line 1, in <module>
|
71
|
+
IndexError: tuple index out of range
|
72
|
+
```
|
1
修正
answer
CHANGED
@@ -12,10 +12,10 @@
|
|
12
12
|
`object`型、詳しく言うと`dict_value`型の単一の要素が格納されているようです。
|
13
13
|
|
14
14
|
---
|
15
|
-
[リファレンス](https://docs.python.jp/3/library/stdtypes.html#dict.values)を見てみると、次のように書いてあります。
|
15
|
+
`dict.values()`の[リファレンス](https://docs.python.jp/3/library/stdtypes.html#dict.values)を見てみると、次のように書いてあります。
|
16
16
|
> 辞書の値の新しいビューを返します。[ビューオブジェクトのドキュメント](https://docs.python.jp/3/library/stdtypes.html#dict-views) を参照してください。
|
17
17
|
|
18
|
-
|
18
|
+
返り値はリストではないのです。
|
19
19
|
よって、次のように明示的にリストに変換すれば、エラーは解消されます。
|
20
20
|
```Python
|
21
21
|
maxids = signal.argrelmax(
|
@@ -30,7 +30,7 @@
|
|
30
30
|
|
31
31
|
---
|
32
32
|
...しかし。辞書型は通常、要素の順序を指定できません。
|
33
|
-
ですので、結果がインデックスの形で返されても、本当に正しく参照できるのかは微妙です。
|
33
|
+
ですので、結果がインデックスの形で返されても、本当に正しく参照できるのかは微妙です。※
|
34
34
|
|
35
35
|
ご提示のサンプルデータを見てみると、keyは単に0~254の整数のようですね。
|
36
36
|
このような場合は、最初からリスト形式のコンテナを用いることをお勧めします。
|
@@ -40,4 +40,11 @@
|
|
40
40
|
array = np.array([counted_hsv_dic[i] for i in range(255)])
|
41
41
|
```
|
42
42
|
|
43
|
-
...もっと簡単な方法があるかも。
|
43
|
+
...もっと簡単な方法があるかも。
|
44
|
+
|
45
|
+
---
|
46
|
+
※私の環境では、`counted_hsv_dic`の順序は崩れませんでした。
|
47
|
+
が、言語仕様上それを信頼していいのかは、ちょっと自信がないです。
|
48
|
+
|
49
|
+
[collections.OrderedDict](https://docs.python.jp/3/library/collections.html#collections.OrderedDict)とかもありますが...
|
50
|
+
リストで対応できる場合はそうした方が手間がかからないかと思います。
|