回答編集履歴
1
追記
test
CHANGED
@@ -55,3 +55,19 @@
|
|
55
55
|
print(result) # => [{'id': 1, 'fruits': 'apple', 'cd': [1, 2, 4]}, {'id': 2, 'fruits': 'banana', 'cd': [5]}, {'id': 3, 'fruits': 'grape', 'cd': [3, 6, 7]}]
|
56
56
|
```
|
57
57
|
|
58
|
+
### 追記
|
59
|
+
|
60
|
+
`result`の要素を作るためにreduceは不要でした。以下でも目的のリストを得られます。
|
61
|
+
```python
|
62
|
+
from itertools import groupby
|
63
|
+
|
64
|
+
|
65
|
+
result = [
|
66
|
+
{'id': k[0], 'fruits': k[1], 'cd': [e['cd'] for e in group]}
|
67
|
+
for k, group
|
68
|
+
in groupby(data, lambda e: (e['id'], e['fruits']))
|
69
|
+
]
|
70
|
+
```
|
71
|
+
|
72
|
+
|
73
|
+
|