首页 > 编程语言 >Python 中的 defaultdict 数据类型

Python 中的 defaultdict 数据类型

时间:2022-11-15 23:35:07浏览次数:65  
标签:defaultdict ... dict2 Python 数据类型 ## 键值

 

首先,defaultdict 是 dict 的一个子类。通常 Python 中字典(dict)是通过键值对来存取的,当索引一个不存在的键时,就会引发 keyerror 异常。那么,defaultdict 就可以解决这个问题,它可以实现为不存的键值返回一个默认值。

defaultdict是 collections 包下的一个模块,defaultdict 在初始化时可以提供一个 default_factory 的参数,default_factory 接收一个工厂函数作为参数, 可以是 int、str、list 等内置函数,也可以是自定义函数。

 

001、

>>> str1 = "aaabcdddddeffggg"                  ## 测试字符串
>>> dict1 = {}                            ## 标准字典
>>> for i in str1:
...     dict1[i] += 1                   ## 标准字典无法直接统计字母的个数
...
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
KeyError: 'a'
>>> from collections import defaultdict   ## 从collections模块中导入defaultdict函数
>>> dict2 = defaultdict(int)  ## 为不存在的键值返回一个默认值
>>> for j in str1:
...     dict2[j] += 1
...
>>> dict2      ## 结果文件
defaultdict(<class 'int'>, {'a': 3, 'b': 1, 'c': 1, 'd': 5, 'e': 1, 'f': 2, 'g': 3})
>>> for i,j in dict2.items():       
...     print(i,j)
...
a 3
b 1
c 1
d 5
e 1
f 2
g 3

 

参考:https://blog.csdn.net/weixin_36383252/article/details/114910657

 

标签:defaultdict,...,dict2,Python,数据类型,##,键值
From: https://www.cnblogs.com/liujiaxin2018/p/16894455.html

相关文章

  • python中的公共操作和推导式
    #1.公共操作#del删除删除变量或指定容器内数据变量,容器里面的值#+将两个相同类型序列进行连接字符串,列表,元组print('1.公共操作')print('a'+'b')print([......
  • python-if where for-函数
    一、if-where-for1、If:判断语句: if+条件:              elif+条件:              else:后面不能加条件实......
  • python 中 filter函数的用法
     和map()类似,filter()也接收一个函数和一个序列。和map()不同的时,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。 ......
  • JavaScript基础知识——数据类型
    数据类型在JavaScript中有8中基本数据类型,7种原始类型和1种引用类型。可以将任何类型的值存入变量。例如,一个变量可以在前一刻是个字符串,下一个就存储一个数字。如:letm......
  • python 中内建函数map的用法
     map函数会根据提供的函数对指定序列做映射。通过定义可以看到,这个函数的第一个参数是一个函数,剩下的参数是一个或多个序列,返回值是一个集合。map的作用是以参数序列中......
  • python脚本check linux
    check脚本:importparamikoimportConfigParserimportsys#-*-coding:UTF-8-*-username="root"pwd="YDYP1F1@flzx3kc"host_ip=[]reload(sys)sys.setdefaulten......
  • Python读取写入txt内容
    Python读取、写入txt内容withopen("test.txt","r")asf:#打开文件data=f.read()#读取文件print(data)withopen("test.txt","w")asf:......
  • 八大基本数据类型
    publicstaticvoidmain(String[]args){//八大基本数据类型//整数intnum1=10;//最常用bytenum2=20;shor......
  • 今日内容,redis数据类型操作和celery介绍
    redis的使用一.redis字符串操作redis五大数据类型:字符串,hash,列表,集合,有序集合操作字符串的方法importredisconn=redis.Redis()#1set(name,value,ex=No......
  • Python - 实现定时任务
    fromapscheduler.schedulers.blockingimportBlockingSchedulerfromdatetimeimportdatetimedeftest_tick():print(f'timeis{datetime.now()}')if__nam......