字典元素的添加和修改
语法格式:dict_name[key] = value
1)添加元素
如果指定的 key 不存在,那就是添加一个新元素到字典中。
score_dict = {'语文': 95,'数学': 100,'英语': 80}
print(f'原字典是:{score_dict}')
# 对不存在的key '地理' 进行赋值,就会添加一个新元素到字典中
score_dict['地理'] = 99
print(f'添加元素后的字典:{score_dict}') # {'语文': 95, '数学': 100, '英语': 80, '地理': 99}
![图片[1]-Python字典的添加与修改、更新字典以及复制字典的操作-尤尤'blog](https://pic.yxfseo.cn/wp-content/uploads/2022/11/7b78e07c00190925.jpg?imageView2/0/interlace/1/q/75|imageslim)
2)修改元素
如果指定的 key (键)存在,新赋值的 value(值)就会覆盖原有的 value(值),这样的话就是修改元素。
score_dict = {'语文': 95,'数学': 100,'英语': 80}
print(score_dict)
# '英语'这个key已经存在了,66会覆盖原有的80,所以是修改元素
score_dict['英语'] = 66
print(score_dict) # {'语文': 95, '数学': 100, '英语': 66}
![图片[2]-Python字典的添加与修改、更新字典以及复制字典的操作-尤尤'blog](https://pic.yxfseo.cn/wp-content/uploads/2022/11/2a870eb93b191209.jpg?imageView2/0/interlace/1/q/75|imageslim)
字典的更新操作
update()
使用指定字典的 key-value 对已有的字典进行更新。如果被更新的字典已包含相同的 key,则 key 原来对应的 value 会被覆盖(即修改元素);如果被更新的字典中不包含这个 key-value,则该 key-value 插入被更新的字典中(即添加元素)。无返回值。
语法格式:dict_name.update(new_dict)
参数说明:
new_dict 用来更新指定字典 dict_name 的字典。
在 dict_name 这个字典上进行操作的,没有返回值,不会产生新的字典对象。
score_dict = {'语文': 95, '数学': 100, '英语': 80}
new_dict = {'地理': 99, '数学': 120, '化学': 90}
print(f'更新前的字典score_dict:{score_dict}')
# '地理'和'化学'在被更新的字典score_dict中不存在,所以直接插入
# '数学'在被更新的字典score_dict中已经存在,所以120会覆盖它原先对应的value
score_dict.update(new_dict)
print(f'更新后的字典score_dict:{score_dict}')
![图片[3]-Python字典的添加与修改、更新字典以及复制字典的操作-尤尤'blog](https://pic.yxfseo.cn/wp-content/uploads/2022/11/05de8e211e192220.jpg?imageView2/0/interlace/1/q/75|imageslim)
复制字典
如果使用 赋值操作(dict2 = dict1)来进行复制字典的话,会导致修改其中一个字典,另一个字典也会跟着变,这是因为使用赋值操作,只是让 dict2 的引用指向了 dict1,他们的内存地址是相同的。
score_dict = {'语文': 95, '数学': 120, '英语': 80, '地理': 99, '化学': 90}
# copy_dict只是score_dict的引用,所以他们值相同,并且score_dict发生改变,copy_dict也会跟着改变。
copy_dict = score_dict
print('score_dict:',id(score_dict),score_dict)
print('copy_dict:',id(copy_dict),copy_dict)
score_dict['化学'] = 100
print('score_dict:',id(score_dict),score_dict)
print('copy_dict:',id(copy_dict),copy_dict)
![图片[4]-Python字典的添加与修改、更新字典以及复制字典的操作-尤尤'blog](https://pic.yxfseo.cn/wp-content/uploads/2022/11/5b280735a7194437.jpg?imageView2/0/interlace/1/q/75|imageslim)
如果想要修改其中一个字典,另一个字典不会跟着变化,可以使用 copy() 方法和 dict()。
1、使用 copy() 方法
语法格式:dict.copy()
返回值:返回一个字典的浅拷贝。
score_dict = {'语文': 95, '数学': 120, '英语': 80, '地理': 99}
# 浅拷贝
new_dict = score_dict.copy()
print('score_dict:',id(score_dict),score_dict)
print('new_dict:',id(new_dict),new_dict)
# 修改score_dict的某个值
score_dict['数学'] = 100
print('score_dict',id(score_dict),score_dict)
print('new_dict',id(new_dict),new_dict)
![图片[5]-Python字典的添加与修改、更新字典以及复制字典的操作-尤尤'blog](https://pic.yxfseo.cn/wp-content/uploads/2022/11/d1cac96205195819.jpg?imageView2/0/interlace/1/q/75|imageslim)
2、使用 dict() 方法
score_dict = {'语文': 95, '数学': 100, '英语': 80}
dct = dict(score_dict)
print('score_dict:',id(score_dict),score_dict)
print(' dct:',id(dct),dct)
dct['化学'] = 90
print('score_dict:',id(score_dict),score_dict)
print(' dct:',id(dct),dct)
![图片[6]-Python字典的添加与修改、更新字典以及复制字典的操作-尤尤'blog](https://pic.yxfseo.cn/wp-content/uploads/2022/11/bac027a037142030.jpg?imageView2/0/interlace/1/q/75|imageslim)
© 版权声明
本站网络名称:
尤尤博客
本站永久网址:
https://www.yxfseo.cn
网站侵权说明:
本网站的文章部分内容可能来源于网络,仅供大家学习与参考,请在24H内删除。
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
THE END
暂无评论内容