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版本的按任意键继续/退出
Sep 26 Python
关于Python如何避免循环导入问题详解
Sep 14 Python
python爬取m3u8连接的视频
Feb 28 Python
解决Python下json.loads()中文字符出错的问题
Dec 19 Python
django框架面向对象ORM模型继承用法实例分析
Jul 29 Python
twilio python自动拨打电话,播放自定义mp3音频的方法
Aug 08 Python
Python模拟登录之滑块验证码的破解(实例代码)
Nov 18 Python
flask实现验证码并验证功能
Dec 05 Python
python支持多线程的爬虫实例
Dec 21 Python
简单了解Java Netty Reactor三种线程模型
Apr 26 Python
Python用Jira库来操作Jira
Dec 28 Python
Python初学者必备的文件读写指南
Jun 23 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文件上传表单摘自drupal的代码
2011/02/15 PHP
linux使用crontab实现PHP执行计划定时任务
2014/05/10 PHP
wamp安装后自定义配置的方法
2014/08/23 PHP
PHP基于PDO扩展操作mysql数据库示例
2018/12/24 PHP
javascript中验证大写字母、数字和中文
2014/01/15 Javascript
jQuery中Dom的基本操作小结
2014/01/23 Javascript
8个超实用的jQuery功能代码分享
2015/01/08 Javascript
常用DOM整理
2015/06/16 Javascript
javascript中for/in循环及使用技巧
2015/09/01 Javascript
JS实现同一个网页布局滑动门和TAB选项卡实例
2015/09/23 Javascript
JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax
2016/05/15 Javascript
jQuery基于toggle实现click触发DIV的显示与隐藏问题分析
2016/06/12 Javascript
最实用的jQuery分页插件
2016/10/09 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
详解webpack性能优化——DLL
2017/10/20 Javascript
Node.js实现注册邮箱激活功能的方法示例
2018/03/23 Javascript
swiper在vue项目中loop循环轮播失效的解决方法
2018/09/15 Javascript
解决layui富文本编辑器图片上传无法回显的问题
2019/09/18 Javascript
vue中父子组件传值,解决钩子函数mounted只运行一次的操作
2020/07/27 Javascript
在Python中操作字典之setdefault()方法的使用
2015/05/21 Python
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
2018/02/18 Python
python2.6.6如何升级到python2.7.14
2018/04/08 Python
Python实现string字符串连接的方法总结【8种方式】
2018/07/06 Python
Flask框架使用DBUtils模块连接数据库操作示例
2018/07/20 Python
windows中安装Python3.8.0的实现方法
2019/11/19 Python
pytorch 中的重要模块化接口nn.Module的使用
2020/04/02 Python
keras自动编码器实现系列之卷积自动编码器操作
2020/07/03 Python
改变 Python 中线程执行顺序的方法
2020/09/24 Python
如何启动时不需输入用户名与密码
2014/05/09 面试题
什么是.net的Remoting技术
2016/07/08 面试题
现代化办公人员工作的自我评价
2013/10/16 职场文书
员工薪酬福利制度
2014/01/17 职场文书
教师见习期自我鉴定
2014/04/28 职场文书
超市商业计划书
2014/05/04 职场文书
捐款倡议书怎么写
2014/05/13 职场文书
Go语言 go程释放操作(退出/销毁)
2021/04/30 Golang