python中ChainMap和update两者区别在哪?
admin
2023-06-26 01:41:35
0

ChainMap和update两者区别在哪呢?

一.update简介

python 字典(Dictionary) update() 函数把字典dict的键/值对更新到另外一个dict里。

1

2

3

4

5

6

7

dict1= {"a":"zhangsan","b":"lisi"}

dict2= {"c":"wangwu"}

 

 

# 合并字典

dict2.update(dict1)

print(dict2)

输出结果:

1

{'c': 'wangwu', 'a': 'zhangsan', 'b': 'lisi'}

 

 

二.update和ChainMap区别

 

1.内置函数ChainMap函数对多个字典合并时,合并的结果内存地址并没有发生改变,当我们修改ChainMap函数返回的结果时,会发现原始字典的数据也会发生相同的变化;当我修改原始字典时,ChainMap函数返回的结果也会跟随一起变化,这也意味着:ChainMap函数返回的结果和原始字典共用一块内存地址

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

# !usr/bin/env python

# -*- coding:utf-8 _*-

"""

@Author:何以解忧

@Blog(个人博客地址): shuopython.com

@WeChat Official Account(微信公众号):猿说python

@Github:www.github.com

 

@File:python_chainmap.py

@Time:2019/11/22 21:25

 

@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)

输出结果:

1

2

3

4

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函数每次只能合并一个字典!

相关内容

热门资讯

伊朗撂下3句狠话 网络上的P图,看看挺有意思的世间万千博弈,最耗心神的,从来不是立场分歧,而是态度的反复无常。这也是现...
普京:亚美尼亚若入欧盟,得先算... 新华社阿斯塔纳/莫斯科5月29日电(记者张继业 许炜凯) 俄罗斯总统普京29日表示,亚美尼亚在欧盟和...
伊朗军方在格什姆岛附近击落敌对... 总台记者当地时间5月29日晚自伊朗方面获悉,伊朗陆军防空部队在监测到敌方小型无人机后,在格什姆岛附近...
联合国安理会延长对南苏丹武器禁... △当地时间5月29日,安理会成员国在就南苏丹制裁授权延期决议草案进行表决。当地时间5月29日,联合国...
字节Seed AI4S或考虑分... 来源:市场资讯 (来源:三言科技) 5月29日,据Z Finance,字节Seed旗下AI4S团队正...
刷新在轨驻留最长纪录!神二十一... 自2025年11月1日进驻空间站以来,神舟二十一号乘组在轨驻留了约7个月,刷新中国航天员乘组在轨驻留...
广东荔枝迎采收季,无人机单机日... 5月底,岭南荔枝进入采收与上市关键期。南都湾财社记者获悉,以大疆为代表的农业无人机正大规模替代传统人...
伊媒:特朗普关于伊美协议的说法... 新华社德黑兰5月29日电 伊朗法尔斯通讯社29日以一名伊方知情人士为消息源,反驳美国总统特朗普关于美...
电视为什么一直闪屏 由于电源电压不稳定或电源供电不足的缘故、电视分辨率的故障、电视存在周围有电磁干扰的缘故、电视的刷新频...
专访塞尔维亚总统武契奇 塞尔维亚总统武契奇首次对中国进行国事访问,接受《高端访谈》专访。他说,这是他政治生涯中最重要的一次访...