第三天python3 字典
字典 dict
特点:key-value键值对的数据的集合
可变的、无序的、key不重复;非线性结构;
字典的初始化
d=dict() 或者 d = { }
dict(**kwargs) 使用name=value对初始化一个字典;
dict(iterable,**kwarg) 使用可迭代对象和name=value对构造字典,不可迭代对象的元素必须是一个二元结构;

dict(mapping,**kwarg) 使用一个字典构建另一个字典

类方法dict.formkeys(iterable,value)
字典元素的访问
d[key] 返回key对应的值value,key不存在则抛出KeyError;

get(key[,default]} 返回key对应的值value,key不存在返回缺省值,如果没有设置缺省值就返回None;

setdefault(key[,default]) 返回key对应的值value,key不存在,添加kv对,value为default,并返回default,如果default没有设置,缺省为None;

字典的增加、修改
d[key] =value 增加、修改 key存在则覆盖,key不存在则创建
update([other]) ---> None
使用另一个字段的kv对更新本字段,key不存在则添加,key存在,覆盖已经存在的key对应的值;就地修改;

在set集合中元素的值是唯一的,在字典中key是唯一的,key的顺序是无序的;
字典的删除
pop(key,[default]) key存在,则移除,并返回它的value;key不存在,返回给定的default;default未设置,key不存在则抛出KeyError异常;

popitem() 移除并返回任意键值对,字典为empty,抛出KeyError;

clear() 清空字典;
del语句
字典的遍历
1、遍历key

遍历value

遍历items也就是kv对

总结:
python3中,keys、values、items方法返回一个类似于一个生成器的可迭代对象,不会把函数的返回结果复制到内存中,本质上是一个字典的view对象,省内存;
移除

应用示例:

字典和set主要是使用key,如果想遍历value,则使用list最好;
缺省字典 defaultdict
collections.defaultdict([default_factory[,...]])
第一个参数是default_factory,缺省是None,它提供一个初始化函数,当key不存在的时候,会调用这个工厂函数来生成key对应的value;

有序字典 OrderedDict
有序字典可以记录元素的插入顺序,打印的时候也是按照这个顺序输出打印;
3.6版本的Python的字典就是记录key插入的顺序(ipython不一定有效果)
应用场景:
1、假如使用字典记录了N个产品,这些产品使用ID由小到大加入字典中;
2、除了使用字典检索的遍历,有时候需要取出ID,但是希望是按照输入的顺序,因为输入顺序是有序的;
示例:

字典练习
统计元素个数
a = {}
b = 'abcdefbbcc'
for i in b:
a[i] = a.get(i,0) + 1 #当变量i的值在a字典中不存在时,返回默认值0,并且加1赋值给a[i],写入字典,依次循环,当存在时,在原来的value基础上加1,赋值给a[i];
print(a)
执行结果:
{'a': 1, 'b': 3, 'c': 3, 'd': 1, 'e': 1, 'f': 1}
第三天python3 字典的更多相关文章
- python3 字典常见用法总结
python3 字典常见用法总结 Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表 ...
- Python3字典与集合
一.Python3字典 字典是另一种可变容器模型,且可存储任意类型对象字典的每个键值(key=>value)对用冒号":"分割,每个键值对之间用逗号"," ...
- Python3 字典 get() 方法
Python3 字典 描述 Python 字典 get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法: dict.get(key, default=None) 参数 ...
- Python3 字典 fromkeys()方法
Python3 字典 描述 Python 字典 fromkeys() 函数用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值. 语法 fromkeys()方法语法: ...
- Python3 字典 update() 方法
Python3 字典 描述 Python 字典 update() 函数把字典dict2的键/值对更新到dict里. 语法 update()方法语法: dict.update(dict2) 参数 di ...
- Python3 字典 pop() 方法
Python3 字典 描述 Python 字典 pop() 方法删除字典给定键 key 所对应的值,返回值为被删除的值.key值必须给出. 否则,返回default值. 语法 pop()方法语法: ...
- Python3 字典 clear()方法
Python3 字典 描述 Python 字典 clear() 函数用于删除字典内所有元素. 语法 clear()方法语法: dict.clear() 参数 NA. 返回值 该函数没有任何返回值. ...
- Python3 字典(map)
ayout: post title: Python3 字典(map) author: "luowentaoaa" catalog: true tags: mathjax: true ...
- python系列七:Python3字典dict
#!/usr/bin/python #Python3 字典#字典是支持无限极嵌套的citys={ '北京':{ '朝阳':['国贸','CBD','天阶','我爱我家','链接地产 ...
随机推荐
- SpringCloud Gateway 漏洞分析 (CVE-2022-22947)
背景 SpringCloud 是Spring提供的微服务实现框架,其中包含网关.配置中心和注册中心等内容,网关的第一代实现为zuul,第二代实现为Gateway,提供了更好的性能和特性. 网关可以提供 ...
- 三个小项目入门Go语言|字节青训营笔记
前言 这是青训营的第一课,今天的课程比较快速的讲解了go语言的入门,并配合三个小的项目实践梳理所学知识点,这里详细回顾一下这三个项目,结合课后作业要求做一些代码补充,并附上自己的分析,青训期间的所有课 ...
- 三大特性,多个场景,Serverless 应用引擎 SAE 全面升级
作者:营火 微服务能力大提升,更新增 Job.PHP 等场景,延展 Serverless 新边界 点击此处,获得阿里云 SAE 发布会直播 PPT! 企业的数字化随着互联网的普及发展越来越快,技术架构 ...
- Linux-Mycat实现MySQL的读写分离
centos8 服务器共三台 client 10.0.0.88 mariadb-10.4.24 mycat-server 10.0.0.18 ...
- 877. Stone Game - LeetCode
Question 877. Stone Game Solution 题目大意: 说有偶数个数字,alex和lee两个人比赛,每次轮流从第一个数字或最后一个数字中拿走一个(偶数个数字,所以他俩拿的数字个 ...
- 【freertos】009-任务控制
目录 前言 9.1 相对延时 9.1.1 函数原型 9.1.2 函数说明 9.1.3 参考例子 9.2 绝对延时 9.2.1 函数原型 9.2.2 函数说明 9.2.3 参考例子 9.3 获取任务优先 ...
- 论文解读(GraphSMOTE)《GraphSMOTE: Imbalanced Node Classification on Graphs with Graph Neural Networks》
论文信息 论文标题:GraphSMOTE: Imbalanced Node Classification on Graphs with Graph Neural Networks论文作者:Tianxi ...
- 当运行npm install 命令的时候带上ignore-scripts,会发生什么?
摘要:运行npm install 命令的时候带上ignore-scripts, 可以避免一个恶意包里的病毒. 本文分享自华为云社区<运行npm install 命令的时候带上--ignore-s ...
- 模块re正则
正则表达式 内容概要 正则表达式前戏 正则表达式之字符组 正则表达式特殊符号 正则表达式量词 正则表达式贪婪与非贪婪匹配 正则表达式取消转义 python内置模块之re模块 内容详情 正则表达式前戏 ...
- 修改SQL Server用户的密码-使用SSMS
更新日志 2022年6月13日 发布文章. 2022年5月21日 开始文章. 打开软件Microsoft SQL Server Management Studio(简写:SSMS). 登录连接具体的数 ...