sizeof(void *)
输出:
a = {('a', 'b', 'c'): [4, 5], ('d', 'e', 'f'): [0, 1]}
b = {('a', 'b', 'c'): 4, ('z', 'z', 'z'): 1, ('d', 'e', 'f'): 1}
c = {key:[val,b.get(key,0)] for key,val in a.items()}
print(c)
如何在不创建看起来像这样的新值数组的情况下附加值 - {('a', 'b', 'c'): [[4, 5], 4], ('d', 'e', 'f'): [[0, 1], 1]}
?
我想得到的是:
[[0, 1], 1]
答案 0 :(得分:1)
如果存在,则将dict中的值附加到具有两个值的现有dict 匹配
在您的情况下,a
是"来源" dict,b
是&#34;接收者&#34; < / em> dict。
使用list concatenation 的简单解决方案:
a = {('a', 'b', 'c'): [4, 5], ('d', 'e', 'f'): [0, 1]}
b = {('a', 'b', 'c'): 4, ('z', 'z', 'z'): 1, ('d', 'e', 'f'): 1}
c = {k:v + [b[k]] for k,v in a.items() if k in b}
print(c)
输出:
{('d', 'e', 'f'): [0, 1, 1], ('a', 'b', 'c'): [4, 5, 4]}