从理解的新词典与setten键

时间:2017-10-24 09:44:09

标签: python python-2.7 dictionary dictionary-comprehension

我有两本词典:

dict1 = {'id': 1001, 'text': 'some text 1', 'key1': 11, 'key2': 12}
dict2 = {'id': 1002, 'text': 'some text 2', 'key1': 1, 'key2': 2}

我希望得到这样的结果,让'id'保持这种状态。 dict1并减去'key1''key2'

dict3 = {'id': 1001, 'key1': 10, 'key2': 10 }

我尝试过如下:

dict3 = {key: dict1[key] - dict2.get(key, 0) for key in ['key1', 'key2']}

但我不知道如何保留原始'id'

2 个答案:

答案 0 :(得分:4)

您的代码很好,但我会使用dict-comprehension 更新字典,而不是创建。这样,我就可以将它应用于已经初始化且具有所需'id'值的字典。

dict1 = {'id': 1001, 'text': 'some text 1', 'key1': 11, 'key2': 12}
dict2 = {'id': 1002, 'text': 'some text 2', 'key1': 1, 'key2': 2}

dict3 = {'id': dict1['id']}  # initialize it first
dict3.update({key: dict1[key] - dict2.get(key, 0) for key in ['key1', 'key2']})
print(dict3)  # {'id': 1001, 'key1': 10, 'key2': 10}

答案 1 :(得分:0)

由于您只有两个<div class="tab-content"> <div class="tab-pane active" id="1"> <div class="row"> sdfsdfdsfsf </div> </div> </div>元素很少,因此手动获取所需的dicts要容易得多。

dict