python学习-defaultdict
文章目录
- 传统字典使用
- 使用setdefault
- 使用defaultdict
传统字典使用
统计某个单词出现次数
lst1 = ['这', '是', '一', '段', '话', '一', '段', '话']
rst = dict()
for word in lst1:if word not in rst:rst[word] = 1else:rst[word] += 1print('rst = ', rst)
这是传统方法。
使用setdefault
for word in lst1:rst.setdefault(word, 0)rst[word] += 1print('rst = ', rst)
给没有向字典里面添加的key设为0。
使用defaultdict
from collections import defaultdict
rst1 = defaultdict(int)
for word in lst1:rst1[word] += 1
print('rst = ', rst1)
因为defaultdict(int)的参数是int,所以如果添加不存在的key,value会默认给0;
另一种使用方式:
def dictVal():return {'name': "", 'age': 0}rst2 = defaultdict(dictVal)
print('''rst2['123'] = ''', rst2['123'])
设置了默认值以后,添加不存在的key,可以使用预设的值返回。这样就能实现一些复杂的字典。
这里定义了dictVal函数,给dict设置默认值是dictVal函数的返回值。
所以运行结果:
python学习-defaultdict相关推荐
- Python中defaultdict函数的使用方法
Python的字典是否有默认值? 众所周知,在Python中如果访问字典中不存在的键,会引发KeyError异常(JavaScript中如果对象中不存在某个属性,则返回undefined).但是有时候 ...
- Python学习基础必备知识点:字典dict详解
取键值 1.Python 字典 setdefault() 方法和 get() 方法类似,返回指定键的值,如果键不在字典中,将会添加键并将值设置为一个指定值,默认为None. get() 和 setde ...
- Python学习笔记:常用内建模块2:collections
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- python学习--关注容易被忽略的知识点---(一)python基础
本系列文章回顾了 python大部分关键的知识点,关注那些容易被忽略的知识点.适用于有一定python基础的python学习者. 本系列文章主要参考廖雪峰的python学习网站.该学习网站内容全面,通 ...
- 【Python学习教程】数据结构与算法
前言 python内置的数据结构包括:列表(list).集合(set).字典(dictionary),一般情况下我们可以直接使用这些数据结构,但通常我们还需要考虑比如搜索.排序.排列以及赛选等一些常见 ...
- python学习之路:python连接阿里云ODPS
python学习之路:python连接阿里云ODPS 前言 本人最近在学习使用ODPS,希望把学习过程记录下来,方便自己查阅. 1.安装ODPS pip install ODPS 2.连接阿里云odp ...
- python学习指南—Python 进阶(Python Cookbook)
系列文章目录 Python数据科学家养成计划(Python学习指南) 文章目录 系列文章目录 前言 一.数据结构和算法 1. 将序列分解为单独的变量 2. 从任意长度的可迭代对象中分解元素 3. 保留 ...
- Python工程师具备哪些技能才能提升求职机率(附Python学习线路图)
对于新人而言,无论学习什么技术,都要以鼓励的姿态出现.如果只是一味地用薪水和个人所看到的局限性现状去衡量一门技术,那绝对是欠缺眼光的.作为一名Python工程师,究竟具备哪些技能才能提升求职机率?今天 ...
- pygame是python的一个库吗,python学习pygame,,基本库导入impor
python学习pygame,,基本库导入impor 基本库导入 import pygame import sys from pygame.locals import * 初始化 pygame.ini ...
最新文章
- keepalived 构建主备mysql
- UOJ #268 BZOJ 4732 [清华集训2016]数据交互 (树链剖分、线段树)
- linux 编译工具链,Linux工具链for TKStudio下载_Linux工具链for TKStudio官方下载-太平洋下载中心...
- RESTful API实现APP订餐实例
- 【待续】C#.Net 关键词清理 Fields Property Attribute Const三者之间的区别与联系
- java Comparable和Comaprator的对比
- centos7.2 开发 部署 .net core
- Linux虚拟内存那点事儿
- ceph:如何处理rados --striper上传失败的对象
- 使用OpenCV需要注意的小细节
- 关于数据库设计是否需要加入(建立)外键
- k-max-pooling
- 汽车零部件加工行业工业互联网智能工厂解决方案
- 荣耀热键驱动无法安装
- ts获取服务器数据_ts 流服务器
- Springboot美妆网站的设计与实现毕业设计-附源码211539
- Linux signal捕获
- 惠普服务器做linux系统安装系统教程,HP刀片服务器安装系统步骤
- 弘辽科技:学会正确竞品分析,与同行竞争对手抢流量
- IE可以上网其他浏览器上不了
热门文章
- 一个详尽的面向 SAP UI5 初学者的教程 - 如何在 SAP UI5 中绘制图表 Chart
- SAP 几款容易令初学者混淆的 HANA 解决方案
- Firefox开发者工具里的CSS Flexbox Inspector
- Angular Component 开发时属性和运行时属性的对照
- Spring JDBC 框架一个最简单的Hello World级别的例子
- build.gradle里repositories的mavenCentral实现原理解析
- 初步学习Prometheus的微服务监控功能
- 变量不同作用域的测试
- SAP Leonardo机器学习图片相似度打分API的测试报告
- CRM WebUI的错误消息是如何从后台服务器取出并绘制到前台的