python字典嵌套的遍历_如何优雅的生成及遍历python嵌套字典

本文介绍了如何在Python中优雅地处理嵌套字典,包括使用Vividict和defaultdict两种方法。Vividict允许在访问不存在的键时返回一个新的字典,而defaultdict则在尝试访问不存在的键时提供一个默认值。文章还展示了如何遍历这些嵌套字典,包括使用walk方法将嵌套字典扁平化为元组的技巧。
摘要由CSDN通过智能技术生成

嵌套字典生成

方法一:定义类

class Vividict(dict):

def __missing__(self, key):

value = self[key] = type(self)()

return value

解释:

第一行:class后面紧接着是类名,即Vividict,类名通常是大写开头的单词,紧接着是(dict),表示该类是dict类继承下来的。

我们可以使用dir(dict)查看dict的方法

In[22]: print(dir(dict))

['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']

同理,可以查看Vividict的方法

In[23]: print(dir(Vividict))

['__class__', '__contains__', '__delattr__', '__delitem__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__missing__', '__module__&#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值