目录
- 一.Python update 函数简介
- 二.Python update 函数和 ChainMap 函数区别
- 三.猜你喜欢
零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门
在前一篇文章 **Python ChainMap **中我们介绍了关于 Python 内置函数 ChainMap 使用,ChainMap 函数和 update 函数类似,都是对字典 dict 操作,也是将多个字典 dict 合并,那么问题来了?ChainMap 和 update 两者区别在哪呢?
一.Python update 函数简介
Python 字典(Dictionary) update 函数把字典 dict 的键 / 值对更新到另外一个字典 dict 里。
# !usr/bin/env python
# -*- coding:utf-8 _*-
\"\"\"
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python update 函数.py
@Time:2021/04/04 11:00
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
\"\"\"
dict1= {\"a\":\"zhangsan\",\"b\":\"lisi\"}
dict2= {\"c\":\"wangwu\"}
# 合并字典
dict2.update(dict1)
print(dict2)
\'\'\'
输出结果:
{\'c\': \'wangwu\', \'a\': \'zhangsan\', \'b\': \'lisi\'}
\'\'\'
二.Python update 函数和 ChainMap 函数区别
1.内置函数 ChainMap 函数对多个字典合并时,合并的结果内存地址并没有发生改变,当我们修改 ChainMap 函数返回的结果时,会发现原始字典 dict 的数据也会发生相同的变化;当我修改原始字典时,ChainMap 函数返回的结果也会跟随一起变化,这也意味着:ChainMap 函数返回的结果和原始字典共用一块内存地址。
# !usr/bin/env python
# -*- coding:utf-8 _*-
\"\"\"
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python update 函数.py
@Time:2021/04/04 11:00
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
\"\"\"
from collections import ChainMap
dict1= {\"a\":\"zhangsan\",\"b\":\"lisi\"}
dict2= {\"c\":\"wangwu\"}
# 合并字典
new_dict = ChainMap(dict1,dict2)
print(new_dict)
print(\"***\"*20)
# 修改数据
new_dict.maps[0][\"a\"] = \"123\"
print(new_dict)
print(dict1)
\'\'\'
输出结果:
ChainMap({\'a\': \'zhangsan\', \'b\': \'lisi\'}, {\'c\': \'wangwu\'})
************************************************************
ChainMap({\'a\': \'123\', \'b\': \'lisi\'}, {\'c\': \'wangwu\'})
{\'a\': \'123\', \'b\': \'lisi\'}
\'\'\'
2.update 函数将原始字典 dict 的键/值对更新到另外一个目标字典 dict 里,合并之后原始字典 dict 和目标字典都是独立的内存块,两者互不影响!
3.ChainMap 函数可以同时合并多个字典,update 函数每次只能合并一个字典!
三.猜你喜欢
未经允许不得转载:猿说编程 » Python update 函数
本文由博客 - 猿说编程 猿说编程 发布!
来源:https://www.cnblogs.com/shuopython/p/14990357.html
图文来源于网络,如有侵权请联系删除。