基于Python中的通用值合并合并字典列表

基于Python中的通用值合并合并字典列表,第1张

基于Python中的通用值合并/合并字典列表

我会

itertools.groupby
用来对元素进行分组

lst = sorted(itertools.chain(list_a,list_b), key=lambda x:x['user__id'])list_c = []for k,v in itertools.groupby(lst, key=lambda x:x['user__id']):    d = {}    for dct in v:        d.update(dct)    list_c.append(d)    #could also do:    #list_c.append( dict(itertools.chain.from_iterable(dct.items() for dct in v)) )    #although that might be a little harder to read.

如果您对

lambda
功能不满意,可以随时使用
operator.itemgetter('user__id')
。(它的效率可能也略高一些)

为了使lambda / itemetter神秘化,请注意:

def foo(x):    return x['user__id']

与以下任意一项相同*:

foo = operator.itemgetter('user__id')foo = lambda x: x['user__id']

*有一些区别,但是对于这个问题来说并不重要



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5630958.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存