plane dict是一个类似dict的类,它将内置dict类表示为一个“平面”结构,即pairs路径值。path是键的元组,value是允许内置dict的值。
planedict的Python项目详细描述
平面图
planedict是一个类似dict的类,它表示内置的dict类 作为“平面”结构,即路径-值对。path是一组键, 值是一个允许内置dict的值。
- 支持的方法:
- 本机:
- _检查路径(自我,路径)
- 覆盖:
- _初始化(self,seq=none,factory=dict,**kwargs)
- _获取项目(自我,路径)
- _设置项(自身、路径、值)
- _ Delitem(自我,路径)
- _ ITER(自我)
- _长度(自身)
- _代表(本人)
- 获取(self,key,default=none,stddict=false)
- 继承:
- 清除(自身)
- 弹出(self,key,default=<;object object>;)
- popitem(自我)
- 设置默认值(self,key,default=none)
- 更新(*args,**kwds)
- _包含(self,key)
- _情商(自我,其他)
- _不(自我,其他)
- 按键(自行)
- Iterkeys(自我)
- 值(自身)
- i值(自身)
- 项目(自身)
- ITeritems(自我)
安装
$ pip install planedict
注释
构造函数有工厂参数,它需要类似dict的类(默认情况下是dict)。 ordereddict很有用。
在按路径删除值之后,如果较高的指令将变为 空的,它们将被移除。
get方法具有stddict参数。如果为真,则方法将返回 内置dict,它将返回planedict对象else。
如果planedict对象被传递给update方法,则它是一个“软” 更新,即交叉值将被覆盖,新的 将添加值。 如果将标准dict传递给update方法,它将作为 标准更新方法。
_ check_path_uuu方法接受一系列键。 例如:u check_u path_uu((1,[2,[3]],4,(5,6),(i代表i在[7,8])) 返回(1,2,3,4,(5,6),7,8)。从中可以看到 上面的例子中,元组不是展开的,因为元组可以是 dict的一个键。如果你想得到一个单键元组, 你应该这样做:
d[('key',),]
or
path='key',d[path,]
参见示例。
示例
d=PlaneDict({'key1':{'key2':'val2','key3':'val3'},'key4':{'key5':{'key6':'val6'}}})>>>len(d)3>>>d['key4','key5','key6']'val6'>>>path=['key1','key2','key10']>>>d[path]=1>>>d[path]1>>>deld['key4','key5','key6']>>>d{'key1':{'key3':'val3','key2':'val2'}}>>>list(d)[('key1','key3'),('key1','key2'),('key4','key5','key6')]>>>d.get('key1',stddict=True){'key3':'val3','key2':'val2'}>>>d.get(('key1','key2'))'val2'>>>d.clear()>>>printd{}>>>d.pop(['key4','key5','key6'],default=None)'val6'>>>d.pop(['key4','key5','key6'],default=None)None>>>d.popitem()(('key1','key3'),'val3')>>>d.setdefault(['key1','key2'],default=None)'val2'>>>d.setdefault(['key1','key7','key8','key9'],default=None)>>>d['key1']{'key3':'val3','key2':'val2','key7':{'key8':{'key9':None}}}>>>update={'key1':{'key10':'val10'}}>>>d.update(PlaneDict(update))>>>d{'key1':{'key2':'val2','key3':'val3','key10':'val10'},'key4':{'key5':{'key6':'val6'}}}>>>d.update(update)>>>d{'key1':{'key10':'val10'},'key4':{'key5':{'key6':'val6'}}}>>>d.keys()[('key1','key3'),('key1','key2'),('key4','key5','key6')]>>>d.values()['val3','val2','val6']>>>d.items()[(('key1','key3'),'val3'),(('key1','key2'),'val2'),(('key4','key5','key6'),'val6')]>>>['key1','key2']indTrue>>>['key1','missed_key']indFalse>>>d==PlaneDict({'key1':{'key2':'val2','key3':'val3'},'key4':{'key5':{'key6':'val6'}}})True>>>d=={'key1':{'key2':'val2','key3':'val3'},'key4':{'key5':{'key6':'val6'}}}False
许可证
麻省理工学院许可。有关详细信息,请参阅捆绑的LICENSE文件。