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 相关文章推荐
Python中使用异常处理来判断运行的操作系统平台方法
Jan 22 Python
简单介绍Python的Django框架加载模版的方式
Jul 20 Python
Python实时获取cmd的输出
Dec 13 Python
详解python如何调用C/C++底层库与互相传值
Aug 10 Python
从CentOS安装完成到生成词云python的实例
Dec 01 Python
Python多线程原理与用法详解
Aug 20 Python
使用python Fabric动态修改远程机器hosts的方法
Oct 26 Python
python中的Elasticsearch操作汇总
Oct 30 Python
Python如何优雅获取本机IP方法
Nov 10 Python
使用已经得到的keras模型识别自己手写的数字方式
Jun 29 Python
Python:__eq__和__str__函数的使用示例
Sep 26 Python
python实现启动一个外部程序,并且不阻塞当前进程
Dec 05 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
屏蔽浏览器缓存另类方法
2006/10/09 PHP
php简单压缩css样式示例
2016/09/22 PHP
PHP实现二维数组按照指定的字段进行排序算法示例
2019/04/23 PHP
jQuery maxlength文本字数限制插件
2010/04/16 Javascript
多个js与css文件的合并方法详细说明
2012/12/26 Javascript
jquery 日期控件datepicker属性详细解析
2013/11/08 Javascript
使用jQueryMobile实现滑动翻页效果的方法
2015/02/04 Javascript
js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
2016/01/27 Javascript
Javascript复制实例详解
2016/01/28 Javascript
深入理解JS DOM事件机制
2016/08/06 Javascript
Laydate时间组件在火狐浏览器下有多时间输入框时只能给第一个输入框赋值的解决方法
2016/08/18 Javascript
node.js爬虫爬取拉勾网职位信息
2017/03/14 Javascript
图解Javascript——作用域、作用域链、闭包
2017/03/21 Javascript
学习使用Bootstrap栅格系统
2017/05/11 Javascript
JavaScript插件Tab选项卡效果
2017/11/14 Javascript
使用Vue自定义数字键盘组件(体验度极好)
2017/12/19 Javascript
vue.js $refs和$emit 父子组件交互的方法
2017/12/20 Javascript
详解解决使用axios发送json后台接收不到的问题
2018/06/27 Javascript
webpack4 + react 搭建多页面应用示例
2018/08/03 Javascript
解决cordova+vue 项目打包成APK应用遇到的问题
2019/05/10 Javascript
react的hooks的用法详解
2020/10/12 Javascript
js实现抽奖功能
2020/11/24 Javascript
python解析文件示例
2014/01/23 Python
Python实现将16进制字符串转化为ascii字符的方法分析
2017/07/21 Python
浅谈python中的数字类型与处理工具
2017/08/02 Python
HTML5的video标签的浏览器兼容性增强方案分享
2016/05/19 HTML / CSS
Paradigit比利时电脑卖场:购买笔记本、电脑、平板和外围设备
2016/11/28 全球购物
Mountain Warehouse波兰官方网站:英国户外品牌
2019/08/29 全球购物
旅游管理专业个人求职信范文
2013/12/24 职场文书
致裁判员加油稿
2014/02/08 职场文书
小学优秀学生评语
2014/12/29 职场文书
文化大革命观后感
2015/06/17 职场文书
2015年小学总务工作总结
2015/07/21 职场文书
同事欢送会致辞
2015/07/31 职场文书
《平行四边形的面积》教学反思
2016/02/16 职场文书
Django集成富文本编辑器summernote的实现步骤
2021/05/31 Python