访问嵌套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}]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
返回数组无效的java方法   异步Java CompletableFuture获取其请求   java是否可以像RDBMS那样使用视图?   java如何在屏幕上只运行一个片段?   java无法从Vertex jdbc查询中获取结果   java从jtable获取对象的正确方法   java Spring 3数据设备替代方案   Java BigDecimal:四舍五入到客户首选的数字和增量   JAVA主窗口没有出现,我必须左键单击主窗口。java并单击run查看它   Eclipse RCP中的java进程自定义设备事件   JavaEclipse一次又一次地构建代码(没有任何更改)?   java如何实现对象合并