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 相关文章推荐
Python中利用原始套接字进行网络编程的示例
May 04 Python
python爬虫之模拟登陆csdn的实例代码
May 18 Python
Python爬虫使用脚本登录Github并查看信息
Jul 16 Python
python绘制热力图heatmap
Mar 23 Python
详解Python数据分析--Pandas知识点
Mar 23 Python
Python面向对象之类和实例用法分析
Jun 08 Python
python并发编程 Process对象的其他属性方法join方法详解
Aug 20 Python
Pytorch Tensor基本数学运算详解
Dec 30 Python
windows系统Tensorflow2.x简单安装记录(图文)
Jan 18 Python
python OpenCV学习笔记
Mar 31 Python
Django实现WebSocket在线聊天室功能(channels库)
Sep 25 Python
如何基于python实现单目三维重建详解
Jun 25 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脚本中include文件出错解决方法
2008/11/20 PHP
PHP中的替代语法简介
2014/08/22 PHP
php获取发送给用户的header信息的方法
2015/03/16 PHP
纯php生成随机密码
2015/10/30 PHP
php使用pear_smtp发送邮件
2016/04/15 PHP
PHP HTTP 认证实例详解
2016/11/03 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
2017/08/30 PHP
Laravel推荐使用的十个辅助函数
2019/05/10 PHP
PHP延迟静态绑定使用方法实例解析
2020/09/05 PHP
JQuery中dataGrid设置行的高度示例代码
2014/01/03 Javascript
setinterval()与clearInterval()JS函数的调用方法
2015/01/21 Javascript
JavaScript 模块的循环加载实现方法
2015/12/13 Javascript
利用bootstrapValidator验证UEditor
2016/09/14 Javascript
Vue 2.X的状态管理vuex记录详解
2017/03/23 Javascript
jquery处理checkbox(复选框)是否被选中实例代码
2017/06/12 jQuery
解决bootstrap下拉菜单点击立即隐藏bug的方法
2017/06/13 Javascript
Vue 使用中的小技巧
2018/04/26 Javascript
js实现简单进度条效果
2020/03/25 Javascript
在Python的Flask框架中使用日期和时间的教程
2015/04/21 Python
python读取word文档,插入mysql数据库的示例代码
2018/11/07 Python
Python使用字典实现的简单记事本功能示例
2019/08/15 Python
Pandas操作CSV文件的读写实现方法
2019/11/13 Python
解决运行django程序出错问题 'str'object has no attribute'_meta'
2020/07/15 Python
python 解决selenium 中的 .clear()方法失效问题
2020/09/01 Python
python 服务器运行代码报错ModuleNotFoundError的解决办法
2020/09/16 Python
戴尔英国官网:Dell英国
2017/05/27 全球购物
泰国王权免税店官方网站:KingPower
2019/03/11 全球购物
Java如何读取CLOB字段
2013/10/10 面试题
Delphi软件工程师试题
2013/01/29 面试题
优秀演讲稿范文
2013/12/29 职场文书
摄影专业毕业生求职信
2014/03/13 职场文书
《开国大典》教学反思
2014/04/19 职场文书
2014年管理工作总结
2014/11/22 职场文书
领导工作表现评语
2015/01/04 职场文书
红色经典观后感
2015/06/18 职场文书
SpringBoot项目多数据源及mybatis 驼峰失效的问题解决方法
2022/07/07 Java/Android