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使用xlrd模块读写Excel文件的方法
May 06 Python
Python正则获取、过滤或者替换HTML标签的方法
Jan 28 Python
全面了解python中的类,对象,方法,属性
Sep 11 Python
对pandas进行数据预处理的实例讲解
Apr 20 Python
超简单使用Python换脸实例
Mar 27 Python
详解python实现数据归一化处理的方式:(0,1)标准化
Jul 17 Python
Python如何调用外部系统命令
Aug 07 Python
pandas的to_datetime时间转换使用及学习心得
Aug 11 Python
Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)
Feb 07 Python
python实现简单井字棋游戏
Mar 04 Python
Python爬虫爬取、解析数据操作示例
Mar 27 Python
基于Python绘制美观动态圆环图、饼图
Jun 03 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自动更新新闻DIY
2006/10/09 PHP
escape unescape的php下的实现方法
2007/04/27 PHP
浅析php中json_encode()和json_decode()
2014/05/25 PHP
php中addslashes函数与sql防注入
2014/11/17 PHP
php is_writable判断文件是否可写实例代码
2016/10/13 PHP
如何在PHP中使用AES加密算法加密数据
2020/06/24 PHP
前端开发过程中浏览器版本的两种判定方法
2013/10/30 Javascript
Knockout数组(observable)使用详解示例
2013/11/15 Javascript
js调试系列 控制台命令行API使用方法
2014/06/18 Javascript
JavaScript判断数组是否包含指定元素的方法
2015/07/01 Javascript
JS组件Bootstrap Table使用实例分享
2016/05/30 Javascript
javascript设计模式Constructor(构造器)模式
2016/08/19 Javascript
JavaScript组合模式学习要点
2016/08/26 Javascript
Textarea输入字数限制实例(兼容iOS&安卓)
2017/07/06 Javascript
jquery学习笔记之无new构建详解
2017/12/07 jQuery
vue watch普通监听和深度监听实例详解(数组和对象)
2018/08/16 Javascript
关于ES6尾调用优化的使用
2020/09/11 Javascript
python实现随机森林random forest的原理及方法
2017/12/21 Python
python PyTorch预训练示例
2018/02/11 Python
Python变量赋值的秘密分享
2018/04/03 Python
python字符串常用方法
2018/06/14 Python
利用pandas将numpy数组导出生成excel的实例
2018/06/14 Python
基于Python的Post请求数据爬取的方法详解
2019/06/14 Python
python遍历文件目录、批量处理同类文件
2019/08/31 Python
使用jupyter notebook直接打开.md格式的文件
2020/04/10 Python
css3实现一个div设置多张背景图片及background-image属性实例演示
2017/08/10 HTML / CSS
德国机场停车位比较和预订网站:Ich-parke-billiger
2018/01/08 全球购物
意大利简约的休闲品牌:Aspesi
2018/02/08 全球购物
中东奢侈品市场:Coveti
2019/05/12 全球购物
本溪水洞导游词
2015/02/11 职场文书
运动会开幕式主持词
2015/07/01 职场文书
高一军训口号
2015/12/25 职场文书
2016年世界艾滋病日宣传活动总结
2016/04/01 职场文书
Python requests库参数提交的注意事项总结
2021/03/29 Python
JavaScript严格模式不支持八进制的问题讲解
2021/11/07 Javascript
SQLServer常见数学函数梳理总结
2022/08/05 MySQL