首页 > 文章列表 > python ChainMap跳过子上下文的功能

python ChainMap跳过子上下文的功能

Python ChainMap
304 2022-08-07

说明

1、ChainMap有一个功能是.parents。这个属性返回了新的ChainMap实例,包括除第一个以外的所有底层链映射。

2、在给定链映射中搜索键时,这个功能对跳过第一个映射非常有用。

实例

>>> from collections import ChainMap
 
>>> mom = {"name": "Jane", "age": 31}
>>> dad = {"name": "John", "age": 35}
>>> son = {"name": "Mike", "age":  0}
 
>>> family = ChainMap(son, mom, dad)
>>> family
ChainMap(
    {'name': 'Mike', 'age': 0},
    {'name': 'Jane', 'age': 31},
    {'name': 'John', 'age': 35}
)
 
>>> family.parents
ChainMap({'name': 'Jane', 'age': 31}, {'name': 'John', 'age': 35})

用.parents跳过第一个包含儿子数据的字典。在某种程度上,.parents是.new_child()的逆向。前者删除字典,后者在列表开头添加新字典。在这两种情况下,你会得到一个新的链图。

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