访问嵌套dict
python-accessor的Python项目详细描述
访问器:读取嵌套字典
使用自然python点表示法构建访问器函数。在
安装
python-accessor
作为零依赖Python包提供。安装方式:
$ pip install python-accessor
使用
^{pr2}$示例
fromaccessorimportaccessoras_obj={'users':[{'uid':1234,'name':{'first':'John','last':'Smith',}},{'uid':2345,'name':{'last':'Bono'}},{'uid':3456}]}_.users[1].name(obj)# -> {'last': 'Bono'}_.users.name.last(obj)# -> ['Smith', 'Bono', None]_.users.name.first(obj)# -> ['John', None, None]_.users.name.first[:1](obj)# -> ['John']_.users.uid[:2](obj)# -> [1234, 2345]list(map(_.name.last,obj['users']))# -> ['Smith', 'Bono', None]list(filter(_.uid>300,obj['users']))# -> [{'uid': 3456}]
更多例子!:)
fromaccessorimportaccessoras_,select,values# extract valueslist(map(values(_.name.first,_.name.last),obj['users']))# -> [('John', 'Smith'), (None, 'Bono'), (None, None)]# extract as dictslist(map(select(_.name.first,_.name.last),obj['users']))# -> [{'first': 'John', 'last': 'Smith'}, {'first': None, 'last': 'Bono'}, {'first': None, 'last': None}]# extract and optionally renamelist(map(select(_.name.uid,x=_.name.last),obj['users']))# -> [{'uid': '1234', 'x': 'Smith'}, {'uid': 2345, 'x': 'Bono'}, {'uid': 3456, 'x': None}]
- 项目
标签: