Python dict和defaultdict使用实例解析
作者:我太难了008 发布时间:2022-12-24 20:44:19
标签: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
是不是很赞....
来源:https://www.cnblogs.com/z-qinfeng/p/12038505.html
0
投稿
猜你喜欢
- 为音视频自动生成字幕的 python 工具autosub 是一个能自动为音视频生成字幕的 python 包,以下为其简介和使用说明。auto
- 说明1、通过特征本身的方差来筛选特征。特征的方差越小,特征的变化越不明显。2、变化越不明显的特征对我们区分标签没有太大作用,因此应该消除这些
- 说下防止PHPDDOS发包的方法 if (eregi("ddos-udp",$read)) { fputs($verbi
- 凯撒密码的原理:计算并输出偏移量为3的凯撒密码的结果注意:密文是大写字母,在变换加密之前把明文字母都替换为大写字母def casar(mes
- Pandas库中有iloc和loc以及ix可以用来索引数据,抽取数据。但是方法一多也容易造成混淆。下面将一一来结合代码说清其中的区别。1.
- ①捕捉一个异常捕捉一个异常以用0作为除数会得到ZeroDivisionError异常为例,print(1/0)为例程序的持续执行,不因该异常
- 1. 安装Opencv包pip install opvencv-python2.实现代码:视频转为图片:import cv2cap=cv2.
- 打开VB6,新建ActiveX DLL 2、在工程引用中加入Microsoft Active Server Pages Object Lib
- 前言:perl是什么,干什么用的?perl原来设计者的意图是用来处理 字符的,80%的强项是处理字符,当然其它的很多都可以。现在很多网页也是
- 本文实例为大家分享了python处理大日志文件的具体代码,供大家参考,具体内容如下# coding=utf-8import sysimpor
- 用户授权方法你可以通过发出GRANT语句增加新用户:shell> mysql --user=root mysqlmysql> G
- 本文实例讲述了python通过pil将图片转换成黑白效果的方法。分享给大家供大家参考。具体分析如下:pil功能强大,convert方法可以轻
- 本文实例讲述了python中split方法用法。分享给大家供大家参考。具体分析如下:split 是非常重要的字符串方法,它是join的逆方法
- 一、安装约定 mysql安装路径: /usr/local/mysql
- 大家好,我们的数据库已经介绍完了,这里给大家总结一下。我们这段主要是学习了SQL的增删改查语句,其中查询是我们的重点。我们是以SQL Ser
- 本文实例讲述了Python创建xml的方法。分享给大家供大家参考。具体实现方法如下:from xml.dom.minidom import
- 用过MySQL之后,不论容量的话,发现比其他两个(sql server 、oracle)好用的多,一下子就喜欢上了。下面给那些还不知道怎么弄
- 本文实例讲述了PHP中使用addslashes函数转义的安全性原理分析。分享给大家供大家参考。具体分析如下:先来看一下ECshop中adds
- 在用ThinkPHP做tags标签的时候,出现了一个问题,就是能获取到参数,但是查不出相应的结果。查看数据库发现数据是存在的。问题出在哪了呢
- 前言最近参加了datawhale的组队学习活动,在组队学习动员下,开始通过强迫自己输出来实现更好的输入与处理,6-15开始自己的第一次文章发