回答編集履歴

1

Update

2021/11/24 15:57

投稿

melian
melian

スコア20655

test CHANGED
@@ -31,3 +31,49 @@
31
31
  '福岡': {'いちご': 2, 'ばなな': 1, 'ひよこ': 1}}
32
32
 
33
33
  ```
34
+
35
+
36
+
37
+ **追記**
38
+
39
+
40
+
41
+ Python 3.9 以降で使える `|=` operator と defaultdict を使う場合。
42
+
43
+
44
+
45
+ ```python
46
+
47
+ from collections import Counter, defaultdict
48
+
49
+
50
+
51
+ result = defaultdict(dict)
52
+
53
+ for (c, g), v in Counter(target).items():
54
+
55
+ result[c] |= {g: v}
56
+
57
+
58
+
59
+ result = dict(result)
60
+
61
+
62
+
63
+ from pprint import pprint
64
+
65
+ pprint(result)
66
+
67
+
68
+
69
+ #
70
+
71
+ {'千葉': {'いちご': 1, 'ばなな': 1},
72
+
73
+ '大阪': {'ばなな': 3, 'りんご': 1},
74
+
75
+ '東京': {'いちご': 1, 'ばなな': 3, 'ひよこ': 1, 'りんご': 1},
76
+
77
+ '福岡': {'いちご': 2, 'ばなな': 1, 'ひよこ': 1}}
78
+
79
+ ```