EasyDict允许将字典值作为属性访问(递归工作),就是一种访问字典更简单的方法。使用前需要 import easydict。
import easydict
if __name__ == '__main__' :
# 创建一个字典
d = {'d1':1, 'd2':{'d21':21, 'd22':22}}
# 访问字典中的元素
# 注意 print(d.d1) 这种写法会报错
print('1: ', d['d1'])
print('2: ', d['d2']['d21'])
print('3: ', d['d2']['d22'])
print('')
此方式写法比较麻烦,easydict提供了一种更简单的方法。
import easydict
if __name__ == '__main__' :
# 创建一个普通字典
d = {'d1':1, 'd2':{'d21':21, 'd22':22}}
# 访问字典中的元素
# 注意 print(d.d1) 这种写法会报错
print('1: ', d['d1'])
print('2: ', d['d2']['d21'])
print('3: ', d['d2']['d22'])
print('')
# 利用 easydict.EasyDict() 可以很容易的访问字典
d = easydict.EasyDict(d)
print('4: ', d.d1)
print('5: ', d.d2.d21)
print('6: ', d.d2.d22)
print('')
# 设置属性
d.d1 = 10
d.d2.d21 = 210
d.d2.d22 = 220
d.d3 = 30
print('7: ', d.d1)
print('8: ', d.d2.d21)
print('9: ', d.d2.d22)
print('10:', d.d3)
print('')
通过easydict可以很简单的方法访问字典元素,设置属性等等。
完整程序
import easydict
if __name__ == '__main__' :
# 创建一个字典
d = {'d1':1, 'd2':{'d21':21, 'd22':22}}
# 访问字典中的元素
# 注意 print(d.d1) 这种写法会报错
print('1: ', d['d1'])
print('2: ', d['d2']['d21'])
print('3: ', d['d2']['d22'])
print('')
# 利用 easydict.EasyDict() 可以很容易的访问字典
d = easydict.EasyDict(d)
print('4: ', d.d1)
print('5: ', d.d2.d21)
print('6: ', d.d2.d22)
print('')
# 设置属性
d.d1 = 10
d.d2.d21 = 210
d.d2.d22 = 220
d.d3 = 30
print('7: ', d.d1)
print('8: ', d.d2.d21)
print('9: ', d.d2.d22)
print('10:', d.d3)
print('')
run:
python easydict_test.py
easydict官网