DottedDict-提供一种使用点路径符号访问列表和字典方法的python库

DottedDict是一个Python库,提供一种使用点路径符号访问列表和字典的方法。访问由列表和字典组成的复杂对象内部的深层路径很有用。

入门

 

from dotted.collection import DottedCollection, DottedDict, DottedList

obj = DottedCollection.factory(dict_or_list)
obj = DottedCollection.load_json(json_value)
obj = DottedDict(a_dict)
obj = DottedList(a_list)

from dotted.utils import dot, dot_json

obj = dot(dict_or_list)
obj = dot_json(json_value)

DottedDict和DottedList具有相同的访问器dict、list ,因此您可以照常进行迭代。两种类型的对象都支持通过虚线路径键进行访问。

示例

范例1:DottedList

obj = DottedList([0, 1, 2, 3, [4, 5, 6], 7, 8, [9, 10]])

以下这些用法都是正确的:

obj[0]     ==  0
obj['1']   ==  1
obj['4.0'] ==  4
obj['4.2'] ==  6
obj[5]     ==  7
obj['7.1'] == 10

范例2:DottedDict

 

obj = DottedDict({'hello': {'world': {'wide': 'web'}}})

  以下这些用法都是正确的:

 

obj['hello'] == {'world': {'wide': 'web'}}
obj['hello.world'] == {'wide': 'web'}
obj['hello.world.wide'] == 'web'

obj.hello == {'world': {'wide': 'web'}}
obj.hello.world == {'wide': 'web'}
obj.hello.world.wide == 'web'

范例3:以上两者一起使用

 

obj = DottedCollection.factory({
    'hello': [{'world': {'wide': ['web', 'web', 'web']}}]
})

  您可以通过一下方式访问:

 

obj['hello'][0]['world']['wide'][0]
obj.hello[0].world.wide[0]
obj.hello[0].world['wide'][0]
obj.hello[0].world['wide.0']
obj.hello['0.world'].wide[0]
...
obj['hello.0.world.wide.0']

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值