如何在Python中使用dict和defaultdict

  介绍

本篇文章为大家展示了如何在Python中使用dict和defaultdict,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

先看一个需求

得到collections  import  defaultdict      “““   需求:统计user_list中字母出现的次数   “““      user_dict =, {}   user_list =,(& # 39;一个# 39;,,& # 39;b # 39;,, & # 39; c # 39;,, & # 39;一个# 39;,,& # 39;c # 39;,, & # 39; c # 39;】      #,第一种方式      for  item  user_list拷贝:   if 才能;item  not 拷贝user_dict:   ,,,user_dict[项目],=,1   其他的才能:   ,,,user_dict[项目],+=1      打印(user_dict), #,{& # 39;一个# 39;,,2,,& # 39;b # 39;,, 1,, & # 39; c # 39;:, 3}      #,第二种方式   user_dict =, {}   user_list =,(& # 39;一个# 39;,,& # 39;b # 39;,, & # 39; c # 39;,, & # 39;一个# 39;,,& # 39;c # 39;,, & # 39; c # 39;】   for  item  user_list拷贝:   user_dict.setdefault才能(项目,,0),#,如果user_dict无项目这个键,添加{项目:0},,,如果有,不管只而且这个方法性能比第一种方式好   user_dict才能[项目],+=,1,#,物品的价值值累加1      打印(user_dict), #,{& # 39;一个# 39;,,2,,& # 39;b # 39;,, 1,, & # 39; c # 39;:, 3}      #,第三种方式。使用defaultdict   时间=default_dict  defaultdict (int)   user_list =,(& # 39;一个# 39;,,& # 39;b # 39;,, & # 39; c # 39;,, & # 39;一个# 39;,,& # 39;c # 39;,, & # 39; c # 39;】   for  item  user_list拷贝:   default_dict才能[项目],+=,1,#,使用这种方式,代码更简单、性能也更好   打印(default_dict), #, defaultdict (& lt; class  & # 39; int # 39;祝辞,,{& # 39;一个# 39;,,2,,& # 39;b # 39;,, 1,, & # 39; c # 39;:, 3})

defaultdict的使用

如何在Python中使用dict和defaultdict

如何在Python中使用dict和defaultdict

如何在Python中使用dict和defaultdict

由上面的示例可知,defaultdict会根据创建实例参数的类型生成一个对应类型的默认值,

这对于dict类型的数据结构而言,可以很好避免KeyError类型的错误。

此外,我们还可以自定义defaultdict调用对象的数据结构,以满足我们实际需要

def 人():   & # 39;才能& # 39;& # 39;自定义一个可调用对象& # 39;& # 39;& # 39;   return {才能   ,,,& # 39;名字# 39;:,& # 39;& # 39;   ,,,& # 39;年龄# 39;:0   ,,}   时间=default_dict  defaultdict(人)   default_dict [& # 39; p # 39;】   通过

如何在Python中使用dict和defaultdict

如何在Python中使用dict和defaultdict