在Python中使用defaultdict初始化字典以及应用方法

yipeiwu_com6年前Python基础

Python中可以使用collections中的defaultdict类实现创建进行统一初始化的字典。这里总结两种常用一点的初始化方式,分别是初始化为list和int。

初始化为list示范代码:

#!/usr/bin/python
 
from collectionsimport defaultdict
 
s = [('yellow',1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
d =defaultdict(list)
for k,v in s:
d[k].append(v)
print(d.items()

运行结果如下:

E:\WorkSpace\05_数据分析\01_利用Python进行数据分析\第02章_引言>pythondict_init.py

[('blue', [2, 4]),('red', [1]), ('yellow', [1, 3])]

从上面的结果可以看出,这种初始化功能非常适合用于统计几个key出现过那几个value。而第二种初始化为int的方式则与此不同,它适合实现的不是统计key的所有value,而是统计一个key出现过多少次。

示范代码如下:

from collectionsimport defaultdict
 
s = 'mississippi'
d =defaultdict(int)
for k in s:
d[k] += 1
print(d.items())

运行结果如下:

E:\WorkSpace\05_数据分析\01_利用Python进行数据分析\第02章_引言>pythondict_int_int.py
[('i', 4), ('p',2), ('s', 4), ('m', 1)]

如上结果中,每个字典的key对应的value都是其出现的次数。

以上这篇在Python中使用defaultdict初始化字典以及应用方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

使用python快速在局域网内搭建http传输文件服务的方法

使用python快速在局域网内搭建http传输文件服务的方法

在工作和学习中如果同时传输多个文件,大的安装包,python提供了一种无线传输的方法,开启一个本地http服务器,同一局域网下可方便访问 经测试下载速度可达13M/s的稳定速度! 下面分...

Python中的赋值、浅拷贝、深拷贝介绍

和很多语言一样,Python中也分为简单赋值、浅拷贝、深拷贝这几种“拷贝”方式。 在学习过程中,一开始对浅拷贝理解很模糊。不过经过一系列的实验后,我发现对这三者的概念有了进一步的了解。...

Python重新加载模块的实现方法

importlib 模块的作用 模块,是一个一个单独的py文件 包,里面包含多个模块(py文件) 动态导入模块,这样就不用写那么多的import代码, 典型的例子: 自动同步服务,每个网...

Python的Flask框架与数据库连接的教程

Python的Flask框架与数据库连接的教程

 命令行方式运行Python脚本 在这个章节中,我们将写一些简单的数据库管理脚本。在此之前让我们来复习一下如何通过命令行方式执行Python脚本. 如果Linux 或者OS X...

全面了解Python的getattr(),setattr(),delattr(),hasattr()

1. getattr()函数是Python自省的核心函数,具体使用大体如下: class A: def __init__(self): self.name = 'zhangji...