如何向Python字典的嵌套键data1中追加子数据?
如何向Python字典的子字典中追加数据?
问题场景
我将数据读取到字典data={'data1':}中,先向该键写入数据:
subData = {'1':1,'2':2,'3':3,'4':4,'5':5} data['data1'] = subData
重新打开data对象后,需要向键data1中追加更多子数据,现有更多子数据:
moreSubData = {'6':1,'7':2,'8':3,'9':4,'10':5}
目标是将moreSubData并入data['data1'],最终使data['data1']包含所有键值对:
data['data1'] = {'1':1,'2':2,'3':3,'4':4,'5':5,'6':1,'7':2,'8':3,'9':4,'10':5}
解决方案
方法1:使用update()方法(推荐)
字典的update()方法会直接把传入字典的键值对合并到原字典中,重复键会覆盖原字典对应值(此场景无重复键,完全适用)。
data['data1'].update(moreSubData)
执行后data['data1']将包含所有目标键值对。
方法2:字典解包(Python 3.5+)
通过**操作符解包两个字典,合并为新字典后赋值给data['data1'],此方式会保留原字典副本。
data['data1'] = {**data['data1'], **moreSubData}
方法3:|运算符(Python 3.9+)
Python 3.9及以上支持用|合并字典,|=可直接在原字典上完成合并,语法更简洁。
# 直接修改原字典 data['data1'] |= moreSubData # 或创建新字典 data['data1'] = data['data1'] | moreSubData
内容的提问来源于stack exchange,提问作者newdeveloper
相关产品推荐
相关产品推荐

