回答編集履歴
1
追記
test
CHANGED
@@ -23,3 +23,33 @@
|
|
23
23
|
|
24
24
|
|
25
25
|
ところで質問文のコード、文字列のクオートが‘’で囲まれているのはおかしいし、全角スペースがインデントに混ざっていました。いろいろ気を配ったほうが良いと思いました。
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
### 追記
|
30
|
+
|
31
|
+
質問文を編集されたので、それに対応したものを。
|
32
|
+
|
33
|
+
```python
|
34
|
+
|
35
|
+
dct = {"A":{"a":0.02,"b":0.03,"c":0.01,"d":[0.04,0.05]},"B":{"a":0.4,"b":0.2,"c":0.8,"e":0.9},"C":{"a":0.1,"b":0.07,"h":0.6,"j":0.9},"D":{"h":1.2,"j":1.5,"k":[1.3,1.8],"l":1.8},"E":{"o":11,"p":12,"q":16,"r":18}}
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
for key,value in sorted(dct.items(), key=lambda x:x[0]): # せっかくなのでABC順に並べる
|
40
|
+
|
41
|
+
print(key)
|
42
|
+
|
43
|
+
value_count = 0
|
44
|
+
|
45
|
+
for k, v in sorted([(k, v) for k,v in value.items()
|
46
|
+
|
47
|
+
if type(v) is not list], # ここに型チェック入れた
|
48
|
+
|
49
|
+
key=lambda x: x[1])[:2]:
|
50
|
+
|
51
|
+
print(str(k) + ": " + str(v))
|
52
|
+
|
53
|
+
```
|
54
|
+
|
55
|
+
質問文に掲載された位置で型チェックしても大した意味はなく、子辞書の値を型チェックしてやる必要があります。とりあえず値がlistのものはリスト内包表記でfilterして取り除きました。
|