Python3 字典 update() 方法
描述
Python 字典 update() 函数把字典参数 dict2 的 key/value(键/值) 对更新到字典 dict 里。
语法
update() 方法语法:
dict.update(dict2)
参数
- dict2 -- 添加到指定字典dict里的字典。
返回值
该方法没有任何返回值。
实例
以下实例展示了 update()函数的使用方法:
实例(Python 2.0+)
#!/usr/bin/python3
tinydict = {'Name': 'Runoob', 'Age': 7}
tinydict2 = {'Sex': 'female' }
tinydict.update(tinydict2)
print ("更新字典 tinydict : ", tinydict)
以上实例输出结果为:
更新字典 tinydict : {'Name': 'Runoob', 'Age': 7, 'Sex': 'female'}
Python3 字典
独孤尚良
yut***hanlin@qq.com
dict = {'Name': 'Runoob', 'Age': 7} dict2 = {'Age': 'female' } dict.update(dict2) print ("更新字典 dict : ", dict)如果键值有重复,则 dict2 的内容更新替换到 dict 中,如上面的代码,会有下面的结果:
更新字典 dict : {'Name': 'Runoob', 'Age': 'female'}独孤尚良
yut***hanlin@qq.com
hichcock
hic***ck_tian@hotmail.com
按照 key 来给字典排序:
dict = {200:'a',20:'b',610:'c'} d1={} for k in sorted(dict.keys()): d={k:dict[k]} d1.update(d) print(d1)输出结果为:
{20: 'b', 200: 'a', 610: 'c'}hichcock
hic***ck_tian@hotmail.com
多喝热水少做梦
wuf***an1210@163.com
针对楼上的字典排序输出,提出纠正,在python 3.5版本之前的字典不关心 (键:值)对的存储顺序,而只跟踪键和值之间的关联关系。(Python 3.6 改写了 dict 的内部算法,因此 3.6 的 dict 是有序的,在此版本之前皆是无序,参考https://legacy.python.org/dev/peps/pep-0468/)
所以即使采用update函数或者setdefault函数有序地去生成字典d1,但当d1输出时还是无序的。
在python 3.5.4版本测试下,输出为:
{200: 'a', 610: 'c', 20: 'b'}多喝热水少做梦
wuf***an1210@163.com
Jacob-xyb
949***197@qq.com
当更新的键有重叠时,传入的 dict 会覆盖原 dict。
d1 = {'user': 'jacob', 'num': [1, 2, 3]} d2 = {'sex': 'female'} d1.update(d2) print(d1) # {'user': 'jacob', 'num': [1, 2, 3], 'sex': 'female'} d3 = {'user': 'xyb', 'num': [6, 6, 6]} d1.update(d3) print(d1) # {'user': 'xyb', 'num': [6, 6, 6], 'sex': 'female'}Jacob-xyb
949***197@qq.com