Python基本数据结构之字典类型dict用法分析


Posted in Python onJune 08, 2019

本文实例讲述了Python基本数据结构之字典类型dict用法。分享给大家供大家参考,具体如下:

词典类型 dict

字典由键(key)和对应值(value)成对组成。字典也被称作关联数组或哈希表。

dict 赋值

dict 整体放在花括号{}中,每个键与值用冒号隔开(:),每对用逗号分割; d = {'one':1, 'two':2, 'three':3}

键必须独一无二,但值则不必;值可取任何数据类型,如字符串,数或元组;若创建时同一个键被赋值两次,后一个值会被记住;

键必须不可变,所以可以用数,字符串或元组充当,用列表就不行

dict() 强制转换,可接受以下形式,参见下例

a = dict(one=1, two=2, three=3)
b = {'one': 1, 'two': 2, 'three': 3}
c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))
d = dict([('two', 2), ('one', 1), ('three', 3)])
e = dict({'three': 3, 'one': 1, 'two': 2})
print(a == b == c == d == e)

dict 操作

词典类型适用于对应键的取值,十分实用;对于dict的访问、修改、增加、删除等操作需要熟练掌握

以下列出了常用的用法,详细请参考:

访问值、修改值

dict_name['key_name'] 可直接访问值,可直接更改该值

d = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print(d['Name'],d['Age'],d['Class'])      # 访问键值访问 dict_name['key_name']
print("%s's age is %d, class is: %s." %(d['Name'], d['Age'],d['Class']))  # 字符串输出
# print(d['name'])         # 无该键值,会报错,注意大小写
d['Age'] = 8
print(d['Age'])          # 可直接修改键的数值,数值类型不限

键的增加、删除

判断key是否存在于dict中,使用 key_name in/not in dict_name

增加键值即对新的键赋值 dict_name['new key_name'] = value ;删除键值使用 del dict_name['key_name']

清空词典使用 dict_name.clear()

d = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print(d['Name'],d['Age'],d['Class'])      # 访问键值访问 dict['key_name']
print("%s's age is %d, class is: %s." %(d['Name'], d['Age'],d['Class']))  # 字符串输出
# print(d['name'])        # 无该键值,会报错,注意大小写
d['Age'] = 8
print(d['Age'])          # 可直接修改键的数值,数值类型不限
print('Name' in d)        # 判断键是否存在
print('xxx' not in d)       # 判断键是否不存在
d['Sex'] = "Female"        # 增加键值直接赋值即可
print(d)
del d['Class']          # 删除键值
print(d)
# del d['Class']         # 若无键值,会报错
d.clear()             # 清空dict
print(d)

dict view objects

len(dict_name) 返回词典键值组合数,可单独取出所有键 dict_name.keys() , 单独取出所有的值 dict_name.values()

d = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print(len(d))          # 键值的组合数量
print(d.keys(),type(d.keys()))  # 为dict_keys 类型,可list()转换为list 或 set()转换为set
print(d.values())        # 为dict_values 类型
print(d.items())         # 为dict_items 类型

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
以911新闻为例演示Python实现数据可视化的教程
Apr 23 Python
python使用socket进行简单网络连接的方法
Apr 29 Python
python设计模式大全
Jun 27 Python
解析Python中的__getitem__专有方法
Jun 27 Python
Ubuntu下创建虚拟独立的Python环境全过程
Feb 10 Python
简单实现python收发邮件功能
Jan 05 Python
centos 安装python3.6环境并配置虚拟环境的详细教程
Feb 22 Python
python中的不可变数据类型与可变数据类型详解
Sep 16 Python
使用python实现mqtt的发布和订阅
May 05 Python
django项目中使用手机号登录的实例代码
Aug 15 Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
Feb 07 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
Mar 30 Python
Python学习笔记基本数据结构之序列类型list tuple range用法分析
Jun 08 #Python
Python面向对象之类的封装操作示例
Jun 08 #Python
Python面向对象之类和实例用法分析
Jun 08 #Python
Python学习笔记之自定义函数用法详解
Jun 08 #Python
Python3基础教程之递归函数简单示例
Jun 07 #Python
Python正则表达式匹配和提取IP地址
Jun 06 #Python
Python 常用模块 re 使用方法详解
Jun 06 #Python
You might like
php 什么是PEAR?(第三篇)
2009/03/19 PHP
PHP 程序授权验证开发思路
2009/07/09 PHP
PHP函数checkdnsrr用法详解(Windows平台用法)
2016/03/21 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
php实现的redis缓存类定义与使用方法示例
2017/08/09 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
2019/10/18 PHP
dojo 之基础篇
2007/03/24 Javascript
摘自百度的图片轮换效果代码
2007/11/19 Javascript
jQuery validate 中文API 附validate.js中文api手册
2010/07/31 Javascript
老生常谈JavaScript中的this关键字
2016/10/01 Javascript
vuejs如何配置less
2017/04/25 Javascript
shiro授权的实现原理
2017/09/21 Javascript
解决vue select当前value没有更新到vue对象属性的问题
2018/08/30 Javascript
你可能不知道的CORS跨域资源共享
2019/03/13 Javascript
windows实现npm和cnpm安装步骤
2019/10/24 Javascript
Vue切换Tab动态渲染组件的操作
2020/09/21 Javascript
[01:37]DOTA2超级联赛专访ChuaN 传奇般的电竞之路
2013/06/19 DOTA
[49:35]LGD vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
Python选择网卡发包及接收数据包
2019/04/04 Python
如何使用Python 打印各种三角形
2019/06/28 Python
python3实现带多张图片、附件的邮件发送
2019/08/10 Python
Python数据可视化实现漏斗图过程图解
2020/07/20 Python
Python识别验证码的实现示例
2020/09/30 Python
python使用numpy中的size()函数实例用法详解
2021/01/29 Python
全球性的奢侈品梦工厂:Forzieri(福喜利)
2019/02/20 全球购物
Dr. Martens马汀博士澳大利亚官网:马丁靴鼻祖
2019/07/02 全球购物
2019年.net常见面试问题
2012/02/12 面试题
如何写你的创业计划书
2014/01/07 职场文书
党的群众路线教育实践活动批评与自我批评
2014/02/16 职场文书
乡村卫生服务一体化管理实施方案
2014/03/30 职场文书
煤矿安全保证书
2015/02/27 职场文书
自我评价优缺点范文
2015/03/11 职场文书
地道战观后感2000字
2015/06/04 职场文书
贷款收入证明格式
2015/06/24 职场文书
解决Mysql多行子查询的使用及空值问题
2022/01/22 MySQL
JavaScript正则表达式实现注册信息校验功能
2022/05/30 Java/Android