我有两个这样的说法:
a = {'SITE1': [700], 'SITE2': [500]}
b = {'SITE1': [1,2,3,4], 'SITE2': [4,5,6,7], 'SITE3': [8,9,10,11]}
我正在寻找这个结果:
c = {'SITE1': [1/700, 2/700, 3/700, 4/700],
'SITE2': [4/500, 5/500, 6/500, 7/500]}
'SITE3': [0, 0, 0, 0]}
如果在'a'字典中找不到字典'b'网站,则该网站的值应在结果中替换为零。
你能帮帮我吗?非常感谢。
答案 0 :(得分:1)
也许会这样 - 假设你想要c的值作为浮点数列表并假设a的值总是单元素列表...:
a = {'SITE1': [700], 'SITE2': [500]}
b = {'SITE1': [1,2,3,4], 'SITE2': [4,5,6,7], 'SITE3': [8,9,10,11]}
c = dict()
for key in b:
if key in a:
c[key] = [float(v)/(a[key][0]) for v in b[key]]
else:
c[key] = [0 for v in b[key]]
答案 1 :(得分:0)
c = { k : [ val_b / a[k][0] for val_b in b[k] ] for k in a }
请注意,我假设1/700
表示分割的实际结果。
我还假设两个词典总是具有完全相同的键。
编辑:注意到在您的示例中,第一个dict还将值存储在单元素列表中