Python 官方文档:入门教程 => 点击学习
python 中怎么创建一个只读字典,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。我们知道,当我们向字典添加数据的时候:a = {'name'
python 中怎么创建一个只读字典,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
我们知道,当我们向字典添加数据的时候:
a = {'name': 'kingname', 'salary': 99999} a['address'] = '上海'
当我们读取字典的时候,一般写作:
a['address']
所以在代码里面,确实存在一不小心把字典覆盖了的情况,例如:
is_rich_man = a['salary'] == 99999
正常情况下,is_rich_man应该等于 True 或者 False。但如果漏写了一个等号,变成:
is_rich_man = a['salary'] = 99999
那么,字典里面的数据就会被覆盖。但代码并不会报错,如下图所示:
所以,我们是否有什么办法,实现一个一旦初始化,就不能修改的字典呢?
实际上 Python自带了这个功能,就是types.MappingProxyType。使用它,可以轻易实现一个不能修改的字典:
from types import MappingProxyType info = {'name': 'kingname', 'salary': 99999} safe_info = MappingProxyType(info) print('kingname 的月薪是:', safe_info['salary']) safe_info['salary'] = 0
运行效果如下图所示:
MappingProxyType像是挡在字典前面的一面盾牌,从前面是无法修改数据的,但是,如果你确实需要修改数据,那么你可以直接修改原始的字典,此时,修改会反映到 MappingProxyType 处理过的对象上面,如下图所示:
看完上述内容,你们掌握Python 中怎么创建一个只读字典的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网Python频道,感谢各位的阅读!
--结束END--
本文标题: Python 中怎么创建一个只读字典
本文链接: https://lsjlt.com/news/282276.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0