【发布时间】:2019-07-07 09:35:23
【问题描述】:
我需要在 Python 中比较字典,我在下面写了这段代码:
diff_dict = {}
for key, value in old_dictionary.items():
for k, v in new_dictionry.items():
if k==key:
inner_dict = {}
for key1, value1 in value.items():
for k1, v1 in v.items():
if key1==k1 and value1!=v1:
compared_value = str(value1) + '_' + str(v1)
inner_dict.update({key1: compared_value})
diff_dict.update({k: inner_dict})
我有一些网站作为键,参数作为内部键和每个参数的值。我需要将当前字典与前一天的字典进行比较。
但是效率不高,需要半个小时,还是没有完成。有什么有效的方法吗?
我想获得一个新的嵌套字典,其结构如下:
{key: {inner_key: compared_value}}
比较值是新旧值的连接,因此我可以稍后将它们按“_”拆分并在 Pandas 中创建两列。
数据示例 老:
{'site-1/cell-1': {'tac' : 10, md: 5},
'site-2/cell-1': {'tac' : 10, md: 1}}
新:
{'site-1/cell-1': {'tac' : 10, md: 4},
'site-2/cell-1': {'tac' : 12, md: 1}}
期望的输出:
{{'site-1/cell-1': {md: '5_4'},
'site-2/cell-1': {'tac' : '10_12'}}
【问题讨论】:
-
使用字典的 O(1) 查找属性!不要只遍历所有项目对。
-
你能发布一个示例数据和预期输出吗?
-
@MehrdadPedramfar 我刚刚编辑了我的问题 :)
标签: python dictionary nested