如何在一行代码中复制并修改一个字典
- 论坛
- 如何在一行代码中复制并修改一个字典
12 浏览
如何在一行代码中复制并修改一个字典
很多时候我需要创建只有一个或两个项目不同的字典。以下是我通常的做法:
setup1 = {'param1': val1, 'param2': val2, 'param3': val3, 'param4': val4, 'paramN': valN} setup2 = copy.deepcopy(dict(setup1)) setup2.update({'param1': val10, 'param2': val20})
程序中有一个点,即`setup2`是`setup1`的完全副本,这让我有点紧张,因为我担心在程序的某个时刻这两行代码可能会分离,这将导致太多的错误。理想情况下,我希望能够用一行代码完成这个操作(类似于这样):
setup2 = dict(setup1).merge({'param1': val10, 'param2': val20})
当然,我可以使用分号将两个命令压缩到一行物理行中,但这对我来说看起来很丑陋。还有其他选择吗?