我有两本词典:
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'
。
答案 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