【发布时间】:2018-04-04 16:13:22
【问题描述】:
拥有这样的列表,我可以通过以下方式获取相同值的组:
N = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5]
C = Counter(N)
print([[k, ] * v for k, v in C.items()])
得到以下结果。
[[1],[2,2],[3,3,3],[4,4,4,4],[5,5,5,5,5]]
但是,如果我有以下列表
N = [{'doc':'A','value':300,'W':1},{'doc':'B','value':301,'W':0.5},{'doc':'C','value':301,'W':0.45},{'doc':'D','value':301,'W':0.3},{'doc':'E','value':300,'W':1},]
我想按照和上一个一样的方式进行分组,使用键'value'进行分组,即:
[[{'doc':A,'value':300,'W':1}, {'doc':'E','value':300,'W':1}],[{'doc':'B','value':301,'W':0.5},{'doc':'C','value':301,'W':0.45},{'doc':'D','value':301,'W':0.3}]]
有人可以帮忙吗?
【问题讨论】:
标签: python list dictionary counter