这篇文章主要介绍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'} )
以上是“python中ChainMap突变怎么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。