python中dict字典的查询键值对 遍历 排序 创建 访问 更新 删除基础操作方法


Posted in Python onSeptember 13, 2018

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ;

字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的;但键不行,如果同一个键被赋值两次,后一个值会被记住。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组(列表这样的可变类型不能作为键)。

一、字典的创建、访问:

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

dict2 = { }; //空字典

print "dict['Name']: ", dict['Name'];

print "dict['Age']: ", dict['Age'];

字典中包含列表:dict={'yangrong':['23','IT'],"xiaohei":['22','dota']}

字典中包含字典:dict={'yangrong':{"age":"23","job":"IT"},"xiaohei":{"'age':'22','job':'dota'"}}

二、字典的修改、添加:

dict['Age'] = 8; # update existing entry

dict['School'] = "DPS School"; # Add new entry

三、字典的删除:

del dict['Name'] # 删除键是'Name'的条目

dict.clear() # 清空字典所有条目

del dict  # 删除字典

四、查询字典中是否包含指定键:

dict.has_key(k)

如果键在字典dict里返回true,否则返回false

查看所有键值对:dict.keys()dict.values()dict.items();返回值的类型为列表

五、遍历字典

for d,x in dict.items():

print "key:"+d+",value:"+x

for k in dict.keys():

print "key:"+k+",value:"+dict[k]

六、字典排序:

按照key进行排序

print sorted(dict1.items(), key=lambda d: d[0])

或:

sorted(d.items(), lambda x, y: cmp(x[0], y[0]))

反序:

sorted(d.items(), lambda x, y: cmp(x[0], y[0]), reverse=True)

按照value进行排序

print sorted(dict1.items(), key=lambda d: d[1])

或:

sorted(d.items(), lambda x, y: cmp(x[1], y[1]))

反序:

sorted(d.items(), lambda x, y: cmp(x[1], y[1]), reverse=True)

下面说一下list,dict与set的区别

list:

按距离差访问元素

顺序访问,速度慢

存储空间要求小

dict:

按索引访问元素

需要大空间,但访问很快

set:

元素不可重复

其它和dict基本类似

集合支持一系列标准操作,包括并集、交集、差集和对称差集,例如: 

a = t | s          # t 和 s的并集

b = t & s          # t 和 s的交集

c = t ? s          # 求差集(项在t中,但不在s中)

d = t ^ s          # 对称差集(项在t或s中,但不会同时出现在二者中)

灵活使用字典将对你的Python编程工作带来很大的帮助,大家一定要熟练掌握Python字典的使用方法

Python 相关文章推荐
Unicode和Python的中文处理
Mar 19 Python
由浅入深讲解python中的yield与generator
Apr 05 Python
python中日志logging模块的性能及多进程详解
Jul 18 Python
python实现n个数中选出m个数的方法
Nov 13 Python
浅谈python之自动化运维(Paramiko)
Jan 31 Python
已安装tensorflow-gpu,但keras无法使用GPU加速的解决
Feb 07 Python
Python日志处理模块logging用法解析
May 19 Python
解决Python中导入自己写的类,被划红线,但不影响执行的问题
Jul 13 Python
python时间time模块处理大全
Oct 25 Python
python用分数表示矩阵的方法实例
Jan 11 Python
Python办公自动化之教你用Python批量识别发票并录入到Excel表格中
Jun 26 Python
Python实现老照片修复之上色小技巧
Oct 16 Python
Python字典创建 遍历 添加等实用基础操作技巧
Sep 13 #Python
python单例模式获取IP代理的方法详解
Sep 13 #Python
如何利用python制作时间戳转换工具详解
Sep 12 #Python
Python get获取页面cookie代码实例
Sep 12 #Python
python读取和保存图片5种方法对比
Sep 12 #Python
python3 拼接字符串的7种方法
Sep 12 #Python
python简单操作excle的方法
Sep 12 #Python
You might like
分享PHP守护进程类
2015/12/30 PHP
ThinkPHP连接Oracle数据库
2016/04/22 PHP
PHP之图片上传类实例代码(加了缩略图)
2016/06/30 PHP
Laravel5.1 框架数据库操作DB运行原生SQL的方法分析
2020/01/07 PHP
jquery 结合C#后台的数组对文章的关键字自动添加链接的代码
2011/07/15 Javascript
Jquery实现列表(隔行换色,全选,鼠标滑过当前行)效果实例
2013/06/09 Javascript
JavaScript根据数据生成百分比图和柱状图的实例代码
2013/07/14 Javascript
node.js中的fs.chown方法使用说明
2014/12/16 Javascript
JS验证邮件地址格式方法小结
2015/12/01 Javascript
javascript实现消灭星星小游戏简单版
2016/11/15 Javascript
说说AngularJS中的$parse和$eval的用法
2017/09/14 Javascript
Vue2.0+ElementUI实现表格翻页的实例
2017/10/23 Javascript
Vue2.0 实现移动端图片上传功能
2018/05/30 Javascript
Vue实现todolist删除功能
2018/06/26 Javascript
JS与jQuery判断文本框还剩多少字符可以输入的方法
2018/09/01 jQuery
js实现同一个页面,多个enter事件绑定的示例
2018/10/10 Javascript
解决vue的过渡动画无法正常实现问题
2019/10/31 Javascript
[48:52]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第一局
2016/02/25 DOTA
[32:39]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第一场 11.04
2020/11/04 DOTA
Python基于列表模拟堆栈和队列功能示例
2018/01/05 Python
python 显示数组全部元素的方法
2018/04/19 Python
Python get获取页面cookie代码实例
2018/09/12 Python
Python 生成器,迭代,yield关键字,send()传参给yield语句操作示例
2019/10/12 Python
搭建pypi私有仓库实现过程详解
2020/11/25 Python
python 数据类型强制转换的总结
2021/01/25 Python
html5利用canvas绘画二级树形结构图的示例
2017/09/27 HTML / CSS
快速实现一个简单的canvas迷宫游戏的示例
2018/07/04 HTML / CSS
丝芙兰中国官方商城:SEPHORA中国
2018/01/10 全球购物
PHP数据运算类型都有哪些
2013/11/05 面试题
出国留学单位推荐信
2015/03/26 职场文书
国王的演讲观后感
2015/06/03 职场文书
卖车协议书范文
2016/03/23 职场文书
HTML通过表单实现酒店筛选功能
2021/05/18 HTML / CSS
纯html+css实现打字效果
2021/08/02 HTML / CSS
利用js实现简单开关灯代码
2021/11/23 Javascript
HTML5页面打开微信小程序功能实现
2022/09/23 HTML / CSS