-1

dictキーでグループ化したい

>>> x
[{'a': 10, 'b': 90}, {'a': 20}, {'a': 30}, {'a': 10}]
>>> [(name, list(group)) for name, group in groupby(x, lambda p:p['a'])]
[(10, [{'a': 10, 'b': 90}]), (20, [{'a': 20}]), (30, [{'a': 30}]), (10, [{'a': 10}])]

これはキー10でグループ化する必要があります:(

4

1 に答える 1

4

ドキュメントは言う

itertools.groupby
キー関数の値が変更されるたびにブレークまたは新しいグループが生成されます(そのため、通常、同じキー関数を使用してデータを並べ替える必要があります)。この動作は、入力順序に関係なく共通の要素を集約するSQLのGROUPBYとは異なります。

于 2010-04-07T10:30:51.583 に答える