python ChainMap的突变用法
1、ChainMap支持突变。换句话说,允许更新、添加、删除和弹出键。这种情况这些操作只作用于第一个映射。
>>> from collections import ChainMap >>> numbers = {"one": 1, "two": 2} >>> letters = {"a": "A", "b": "B"} >>> alpha_num = ChainMap(numbers, letters) >>> alpha_num ChainMap({'one': 1, 'two': 2}, {'a': 'A', 'b': 'B'}) >>> # Add a new key-value pair >>> alpha_num["c"] = "C" >>> alpha_num ChainMap({'one': 1, 'two': 2, 'c': 'C'}, {'a': 'A', 'b': 'B'}) >>> # Update an existing key >>> alpha_num["b"] = "b" >>> alpha_num ChainMap({'one': 1, 'two': 2, 'c': 'C', 'b': 'b'}, {'a': 'A', 'b': 'B'}) >>> # Pop keys >>> alpha_num.pop("two") 2 >>> alpha_num.pop("a") Traceback (most recent call last): ... KeyError: "Key not found in the first mapping: 'a'" >>> # Delete keys >>> del alpha_num["c"] >>> alpha_num ChainMap({'one': 1, 'b': 'b'}, {'a': 'A', 'b': 'B'}) >>> del alpha_num["a"] Traceback (most recent call last): ... KeyError: "Key not found in the first mapping: 'a'" >>> # Clear the dictionary >>> alpha_num.clear() >>> alpha_num ChainMap({}, {'a': 'A', 'b': 'B'})
2、改变给定链映射内容的操作只会影响第一个映射,即使试图改变列表中的其他映射中的键。
可以使用此行为创建可更新的链映射,而不修改原始输入字典。在这种情况下,您可以使用空字典作为ChainMap的第一个参数。
>>> from collections import ChainMap >>> numbers = {"one": 1, "two": 2} >>> letters = {"a": "A", "b": "B"} >>> alpha_num = ChainMap({}, numbers, letters) >>> alpha_num ChainMap({}, {'one': 1, 'two': 2}, {'a': 'A', 'b': 'B'}) >>> alpha_num["comma"] = "," >>> alpha_num["period"] = "." >>> alpha_num ChainMap( {'comma': ',', 'period': '.'}, {'one': 1, 'two': 2}, {'a': 'A', 'b': 'B'} )
微信扫描下方的二维码阅读更多精彩内容
每日分享到群里,或者推荐给朋友会得大量积分,机会可以兑换微信零钱红包,具体请点击这里,得到了微信红包可以用来支持大飞哥
大飞哥能不能加鸡腿就看各位了!
开发者微信
开发者微信反馈BUG或者VIP可以添加,其他情况反馈可能不及时,见谅
版权声明
初衷是提供高清手机电脑壁纸等图片素材免费分享下载,禁止商用。图片素材来源网络,版权归原作者所有,若有侵权问题敬请告知我们!
【友情提醒】:
因平台原因不易展示大尺度写真,有的写真展示越少代表此套写真越性感,特别是xiuren等写真每一套写真完整套图50-100张不等。更多内容的欣赏请移步 点击这里
【更多图集移步】:
每日更新-点击这里
漂亮小姐姐-点击这里
性感美女-点击这里
清纯女孩-点击这里
xiuren专栏-点击这里
整站资源下载-点击这里