Python dict和defaultdict使用实例解析

 更新时间:2020年03月12日 10:41:23   作者:我太难了008  
这篇文章主要介绍了Python dict和defaultdict使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

先看一个需求

from collections import defaultdict

"""
需求: 统计user_list中字母出现的次数
"""

user_dict = {}
user_list = ['A', 'B', 'C', 'A', 'C', 'C']

# 第一种方式

for item in user_list:
  if item not in user_dict:
    user_dict[item] = 1
  else:
    user_dict[item] += 1

print(user_dict) # {'A': 2, 'B': 1, 'C': 3}

# 第二种方式
user_dict = {}
user_list = ['A', 'B', 'C', 'A', 'C', 'C']
for item in user_list:
  user_dict.setdefault(item, 0) # 如果user_dict无item这个key,添加{item:0} , 如果有,不管. 而且这个方法性能比第一种方式好
  user_dict[item] += 1 # item的value值累加1

print(user_dict) # {'A': 2, 'B': 1, 'C': 3}

# 第三种方式.使用defaultdict
default_dict = defaultdict(int)
user_list = ['A', 'B', 'C', 'A', 'C', 'C']
for item in user_list:
  default_dict[item] += 1 # 使用这种方式,代码更简单,性能也更好
print(default_dict) # defaultdict(<class 'int'>, {'A': 2, 'B': 1, 'C': 3})

defaultdict的使用

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

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

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

def person():
  '''自定义一个可调用对象'''
  return {
    'name': '',
    'age': 0
  }
default_dict = defaultdict(person)
default_dict['p']
pass

是不是很赞....

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Python+Django在windows下的开发环境配置图解

    Python+Django在windows下的开发环境配置图解

    Python+Django在windows下的开发环境配置图解教程,需要的朋友可以参考下。
    2009-11-11
  • Python wxpython模块响应鼠标拖动事件操作示例

    Python wxpython模块响应鼠标拖动事件操作示例

    这篇文章主要介绍了Python wxpython模块响应鼠标拖动事件操作,结合实例形式分析了Python使用wxpython模块创建窗口、绑定事件及相应鼠标事件相关操作技巧,需要的朋友可以参考下
    2018-08-08
  • 使用Python与MQTT实现异步通信功能

    使用Python与MQTT实现异步通信功能

    物联网(IoT)和实时通信的世界中,消息队列遥测传输(MQTT)协议因其轻量级、可靠性和实时性成为广受欢迎的选择,本文给大家介绍了使用Python与MQTT实现异步通信功能,需要的朋友可以参考下
    2024-12-12
  • Python自动化完成tb喵币任务的操作方法

    Python自动化完成tb喵币任务的操作方法

    2019双十一,tb推出了新的活动,商店喵币,看了一下每天都有几个任务来领取喵币,从而升级店铺赚钱,然而我既想赚红包又不想干苦力,遂使用python来进行手机自动化操作,需要的朋友跟随小编一起看看吧
    2019-10-10
  • python实现从文件中读取数据并绘制成 x y 轴图形的方法

    python实现从文件中读取数据并绘制成 x y 轴图形的方法

    今天小编就为大家分享一篇python实现从文件中读取数据并绘制成 x y 轴图形的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • python移位运算的实现

    python移位运算的实现

    这篇文章主要介绍了python移位运算的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 基于Python绘制3D立体爱心图案的示例详解

    基于Python绘制3D立体爱心图案的示例详解

    这篇文章主要为大家详细介绍了利用Python实现绘制3D立体爱心图案的四种不同方法,文中的示例代码讲解详细,感兴趣的小伙伴可以动手尝试一下
    2022-11-11
  • Python3网络爬虫之使用User Agent和代理IP隐藏身份

    Python3网络爬虫之使用User Agent和代理IP隐藏身份

    这篇文章主要介绍了Python3网络爬虫之使用User Agent和代理IP隐藏身份,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • 闭包在python中的应用之translate和maketrans用法详解

    闭包在python中的应用之translate和maketrans用法详解

    这篇文章主要介绍了闭包在python中的应用之translate和maketrans用法,是比较实用的技巧,需要的朋友可以参考下
    2014-08-08
  • Python 调用 Outlook 发送邮件过程解析

    Python 调用 Outlook 发送邮件过程解析

    这篇文章主要介绍了Python 调用 Outlook 发送邮件过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08

最新评论