
说明
1、ChainMap实现了子上下文.new_child()。
2、这种方法可以选择以映射为参数,并返回一个新的ChainMap实例,包括输入映射,然后在底层链映射中的所有当前映射。
实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | >>> 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(),您可以创建一个子上下文,您可以在不改变任何现有映射的情况下更新子上下文。
以上就是python ChainMap增加子上下文的方法,希望对大家有所帮助。更多Python学习指路:python基础教程
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。