首页 > 文章列表 > python ChainMap增加子上下文的方法

python ChainMap增加子上下文的方法

Python ChainMap
499 2022-08-07

说明

1、ChainMap实现了子上下文.new_child()。

2、这种方法可以选择以映射为参数,并返回一个新的ChainMap实例,包括输入映射,然后在底层链映射中的所有当前映射。

实例

>>> from collections import ChainMap
 
>>> mom = {"name": "Jane", "age": 31}
>>> dad = {"name": "John", "age": 35}
 
>>> family = ChainMap(mom, dad)
>>> family
ChainMap({'name': 'Jane', 'age': 31}, {'name': 'John', 'age': 35})
 
>>> son = {"name": "Mike", "age": 0}
>>> family = family.new_child(son)
 
>>> for person in family.maps:
...     print(person)
...
{'name': 'Mike', 'age': 0}
{'name': 'Jane', 'age': 31}
{'name': 'John', 'age': 35}

在这里,.new_child()返回一个包含新映射的新对象son,其次是旧映射、mom和dad。请注意,新映射现在占据内部映射列表的第一位。maps。

使用.new_child(),您可以创建一个子上下文,您可以在不改变任何现有映射的情况下更新子上下文。

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。