蟒蛇关键值的两个字典匹配
我tyring通过循环在他们-与希望if i in line_aum['id_class'] == line_investor['id_class']
成为True
两个sperate键两种类型的字典的值相匹配,那么接下来的总和dunction将工作:蟒蛇关键值的两个字典匹配
芹苴它踢出来一个不同的结果
到目前为止我有:
for line_aum in aum_obj:
for line_investor in investor_obj:
if i in line_aum['id_class'] == line_investor['id_class']:
total = (sum,line_investor['amount'], line_aum['value'])
amount = line['id_class']
print(amount,total)
实施例的数据:
{'fund_name': '', 'fund_code': 'LFE', 'aumc': '406.37', 'value': '500', 'ddate': '2013-01-01', 'id_fund': '165', 'currency': 'EUR', 'nav': '24.02', 'shares': '16.918', 'estimate': '0', 'id_class': '4526', 'class_name': 'LTD - CLASS B (EUR)'}
使用itertools.product
代替嵌套循环如果两个aum_obj
和investor_obj
的列表:
from itertools import product
for line_aum, line_investor in product(aum_obj, investor_obj):
if line_aum['id_class'] == line_investor['id_class']:
# `line_aum` and `line_investor` have matching values for the `id_class` keys.
{'fund_name':'','fund_code':'LFE','aumc':'406.37','value':'500','ddate':'2013-01-01','id_fund':' 165'''currency':'EUR','nav':'24.02','shares':'16.918','estimate':'0','id_class':'4526','class_name':'LTD - CLASS B(EUR)'} – VivaNosh 2013-05-01 17:40:12
Martin--这是一些示例数据。它的JSON来自一个API,所以.values()吐出一个属性错误。 – VivaNosh 2013-05-01 17:41:16
@VivaNosh:然后'aum_obj'或'investor_obj'都不是*字典。 – 2013-05-01 17:42:16
凡'i'定义? – Kevin 2013-05-01 17:20:13
line_aum ['id_class']是如此非python。哟应该使用line_aum.get(“id_class”,Default_Value_You_Want_to返回) – 2013-05-01 17:22:10
你的'if'表达式使* no *有意义。 '我在foo == bar'是一个链接的运算符,所以这被解释为'我在foo和foo == bar'这不是你想要的,我会说。此外,'line_aum'和'line_investor'是*键*,它们是什么类型,你可以把它们当作字典? – 2013-05-01 17:22:17