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 05 Python
Python3安装Scrapy的方法步骤
Nov 23 Python
Python xlwt设置excel单元格字体及格式
Apr 18 Python
解决python "No module named pip" 的问题
Oct 13 Python
python3.6使用tkinter实现弹跳小球游戏
May 09 Python
python中p-value的实现方式
Dec 16 Python
python操作gitlab API过程解析
Dec 27 Python
Python进程Multiprocessing模块原理解析
Feb 28 Python
ipython jupyter notebook中显示图像和数学公式实例
Apr 15 Python
如何在python中执行另一个py文件
Apr 30 Python
python一些性能分析的技巧
Aug 30 Python
如何用Python搭建gRPC服务
Jun 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 UTF8 文件的签名问题
2009/10/30 PHP
php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
2010/05/16 PHP
jQuery checkbox全选/取消全选实现代码
2009/11/14 Javascript
Kibo 用于处理键盘事件的Javascript工具库
2011/10/28 Javascript
artDialog双击会关闭对话框的修改过程分享
2013/08/05 Javascript
jQuery获得内容和属性方法及示例
2013/12/02 Javascript
Extjs根据条件设置表格某行背景色示例
2014/07/23 Javascript
完美兼容各大浏览器的jQuery插件实现图片切换特效
2014/12/12 Javascript
基于javascript实现九九乘法表
2016/03/27 Javascript
详解Bootstrap插件
2016/04/25 Javascript
JavaScript数据类型的存储方法详解
2017/08/25 Javascript
node 命令方式启动修改端口的方法
2018/05/12 Javascript
Element-UI中Upload上传文件前端缓存处理示例
2019/02/21 Javascript
jQuery实现带3D切割效果的轮播图功能示例【附源码下载】
2019/04/04 jQuery
JavaScript实现移动端带transition动画的轮播效果
2020/03/24 Javascript
微信小程序拖拽排序列表的示例代码
2020/07/08 Javascript
JavaScript 判断数据类型的4种方法
2020/09/11 Javascript
Python Sqlite3以字典形式返回查询结果的实现方法
2016/10/03 Python
django 常用orm操作详解
2017/09/13 Python
python虚拟环境的安装配置图文教程
2017/10/20 Python
Python爬虫框架Scrapy基本用法入门教程
2018/07/26 Python
pyqt 实现为长内容添加滑轮 scrollArea
2019/06/19 Python
python pandas模块基础学习详解
2019/07/03 Python
python函数参数(必须参数、可变参数、关键字参数)
2019/08/16 Python
python重要函数eval多种用法解析
2020/01/14 Python
如何用python处理excel表格
2020/06/09 Python
python属于软件吗
2020/06/18 Python
CSS3 三维变形实现立体方块特效源码
2016/12/15 HTML / CSS
汽车运用工程毕业生自荐信
2013/10/29 职场文书
法人委托书范本
2014/04/04 职场文书
反邪教警示教育方案
2014/05/13 职场文书
小学竞选班干部演讲稿
2014/08/20 职场文书
公司证明怎么写
2014/09/22 职场文书
会计人员岗位职责
2015/02/03 职场文书
运动会广播稿50字
2015/08/19 职场文书
高中班主任工作总结(范文)
2019/08/20 职场文书