質問編集履歴

2

質問内容を明確にした

2019/09/08 21:07

投稿

azumanet
azumanet

スコア12

test CHANGED
@@ -1 +1 @@
1
- python 配列 インデックスを出力る方法
1
+ python 3次元配列 1~n番目に大きいインデックスを
test CHANGED
@@ -2,86 +2,42 @@
2
2
 
3
3
 
4
4
 
5
- 現在3次元配列を用て、画像内の画素調べる課題に取りいます。
5
+ 3次元配列で、最も大き値~n番目に大きい値持つインデックスを反すプログラムをみたいです。
6
6
 
7
- 1ピクセルごとrgbを取ってきて、どの色素多いのかを調べようとしています
7
+ か手ありまたら教え頂けなでしょうか
8
-
9
-
10
-
11
- そこで、より多くの要素を持つ配列が何番目のインデックスなのかを表示したいのですが、ソートした後そのまま出力しても要素がすべて出力されてしまいます。
12
-
13
-
14
-
15
-
16
-
17
- [2,4,8,16,32]
18
-
19
-
20
-
21
- 理想
22
-
23
- 1位:4
24
-
25
- 2位:3
26
-
27
- .
28
-
29
- .
30
-
31
- .
32
-
33
-
34
-
35
- 現状
36
-
37
- 1位:[32]
38
-
39
- 2位:[16]
40
-
41
- .
42
-
43
- .
44
-
45
- .
46
8
 
47
9
 
48
10
 
49
11
 
50
12
 
51
- この場合、どのように表記すれば理想の出力にできるのか分かる方がいらっしゃいましたら、教えて頂けませんでしょうか。
13
+ ```コード
52
14
 
53
15
 
54
16
 
55
17
 
56
18
 
57
- コード
19
+ list = [[[0 for i in range(256)] for j in range(256)]for k in range(256)]
58
20
 
59
- ---
21
+
60
22
 
23
+
61
24
 
25
+ for y in range(height):
62
26
 
63
- . list = [[[0 for i in range(256)] for j in range(256)]for k in range(256)]
27
+ for x in range(width):
64
28
 
65
- .
29
+
66
30
 
67
- .
31
+ r, g, b = img[x,y]
68
32
 
69
- . for y in range(height):
33
+ print(r,g,b)
70
34
 
71
- . for x in range(width):
35
+
72
36
 
73
- .
37
+ list[r][g][b] = list[r][g][b] + 1
74
38
 
75
- . r, g, b = img[x,y]
39
+
76
40
 
77
- . print(r,g,b)
41
+ list.sort(reverse=True)
78
42
 
79
- .
43
+ ```
80
-
81
- . list[r][g][b] = list[r][g][b] + 1
82
-
83
- .
84
-
85
- .
86
-
87
- . list.sort(reverse=True)

1

コードの間違い

2019/09/08 21:07

投稿

azumanet
azumanet

スコア12

test CHANGED
File without changes
test CHANGED
@@ -20,9 +20,9 @@
20
20
 
21
21
  理想
22
22
 
23
- 1位:5(番目のインデックス)
23
+ 1位:4
24
24
 
25
- 2位:4
25
+ 2位:3
26
26
 
27
27
  .
28
28