求教关于python 从列表中嵌套的字典中获取给定值,并求和。
例如我有一个两个列表:rt1=[a,b]rt2=[{a:1,b:2,c:3,d:4},{d:3,a:3,b:3,c:4},{d:1,b:1,c:3,a:2},{a:5,c...
例如 我有一个两个列表:
rt1 = [a,b]
rt2 = [{a:1,b:2,c:3,d:4},{d:3,a:3,b:3,c:4},{d:1,b:1,c:3,a:2},{a:5,c:6,d:3,b:0}]
求rt2中 满足rt1的key的值,分别求和。谢谢~
可能我讲的不是很清楚,再补充一下,我需要的结果是一个和。
可以新建一个字典,里面应该包含key a 和 b
比如:
rt3 = {a:11,b:6} 展开
rt1 = [a,b]
rt2 = [{a:1,b:2,c:3,d:4},{d:3,a:3,b:3,c:4},{d:1,b:1,c:3,a:2},{a:5,c:6,d:3,b:0}]
求rt2中 满足rt1的key的值,分别求和。谢谢~
可能我讲的不是很清楚,再补充一下,我需要的结果是一个和。
可以新建一个字典,里面应该包含key a 和 b
比如:
rt3 = {a:11,b:6} 展开
展开全部
>>> result = [dict([(k, item[k]) for k in rt1]) for item in rt2]
>>> result
[{'a': 1, 'b': 2}, {'a': 3, 'b': 3}, {'a': 2, 'b': 1}, {'a': 5, 'b': 0}]
>>>
>>> result = [(k, [x[k] for x in rt2]) for k in rt1]
>>> result
[('a', [1, 3, 2, 5]), ('b', [2, 3, 1, 0])]
>>> result = [(k, sum([x[k] for x in rt2])) for k in rt1]
>>> result
[('a', 11), ('b', 6)]
>>>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询