如何基于已有Python字典创建添加新元素的新字典?
可行的简洁写法
直接给你几种符合需求的简洁实现方式:
字典解包(Python 3.5+推荐写法)
这是最接近你预期的简洁写法,用**解包原字典后拼接新键值对,会生成全新字典且不修改原字典:d1 = {'name':'William'} d2 = {**d1, 'age':6}如果新添加的键和原字典有重复,新值会覆盖旧值。
dict()构造器写法
利用内置dict()函数,结合原字典和新参数快速生成新字典:d2 = dict(d1, age=6)注意这种写法要求新键是合法标识符(不能含特殊字符、不能是Python关键字),适合键名常规的场景。
先复制再更新(兼容旧版本)
要是需要兼容Python 3.5之前的版本,可以先复制原字典,再用update()添加元素:d2 = d1.copy() d2.update({'age':6})写法直观,兼容性拉满。
你提到的d2 = d1{'age':6}属于非法语法,上面几种是Python官方认可的简洁替代方案。
内容的提问来源于stack exchange,提问作者William
相关产品推荐
相关产品推荐

