我需要拆分排序列表,并从中生成一个新列表



我已经排序了一个列表,它有一个字典。按'a'排序:

A = [{'a': 1,'c': 3}, {'a': 1,'c': 300},  {'a': 10,'c': 30}, {'a': 10,'c': 3000}]
我需要把它转换成
[ [{'a':1,'c':3},{'a':1,'c':300}]  , [{'a':10,'c':30}, {'a':10,'c':3000}] ]

由于您的数据已经按分组键排序,您可以方便地使用itertools.groupby:

from itertools import groupby
[list(g) for _, g in groupby(A, key=lambda d: d["a"])]
# [[{'a': 1, 'c': 3}, {'a': 1, 'c': 300}], 
#  [{'a': 10, 'c': 30}, {'a': 10, 'c': 3000}]]

您可以使用operator.itemgetter:

获得更多实用程序。
from operator import itemgetter
[list(g) for _, g in groupby(A, key=itemgetter("a"))]

请注意,_只是一个匿名变量(按照约定是匿名的),表明我们不会在任何地方使用它的值。

相关内容

  • 没有找到相关文章

最新更新