我有一本字典,看起来像这样:
d1 = {('a', 'b'): 300.0,
('b, 'c'): '0.1*K1',
('a', 'c'): 0.462,
('c', 'e'): '0.2*K2',
('b', 'a'): '0.1*K1',
('c','d'): 'K1*K3'}
K1, K2, K3 = 2.1, 3.4, 2
我想'0.1*K1'
在d1中用0.1 * K1替换,'0.2*K2'
在d2中用0.2 * K2替换,依此类推。中d1
需要替换的值作为中的键给出d2
,并用中的相应值替换d2
:
d2 = {'0.1*K1':0.1*K1, '0.1*K2':'0.1*K2', 'K2*K3':K2*K3}
最终结果将是一个字典:
d1_new = {('a', 'b'): 300.0,
('b, 'c'): 0.21,
('a', 'c'): 0.462,
('c', 'e'): 0.68,
('b', 'a'): 0.21',
('c','d'): 6.8}
将字典理解与结合使用get
:
d1_new = {k: d2.get(v, v) for k, v in d.items()}
输出:
{('a', 'b'): 300.0, ('b', 'c'): 0.21000000000000002, ('a', 'c'): 0.462, ('c', 'e'): 0.68, ('b', 'a'): 0.21000000000000002, ('c', 'd'): 4.2}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句