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 相关文章推荐
Django发送html邮件的方法
May 26 Python
python如何在终端里面显示一张图片
Aug 17 Python
Python队列的定义与使用方法示例
Jun 24 Python
深入浅析Python2.x和3.x版本的主要区别
Nov 30 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
Jun 18 Python
python UDP(udp)协议发送和接收的实例
Jul 22 Python
如何使用Python多线程测试并发漏洞
Dec 18 Python
浅谈keras中的keras.utils.to_categorical用法
Jul 02 Python
python修改微信和支付宝步数的示例代码
Oct 12 Python
Python进行特征提取的示例代码
Oct 15 Python
Python爬虫实战之爬取京东商品数据并实实现数据可视化
Jun 07 Python
Python实现简单的俄罗斯方块游戏
Sep 25 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 is_dir() 判断给定文件名是否是一个目录
2010/05/10 PHP
PHP获取文件夹大小函数用法实例
2015/07/01 PHP
header与缓冲区之间的深层次分析
2016/07/30 PHP
php版微信发红包接口用法示例
2016/09/23 PHP
php生成与读取excel文件
2016/10/14 PHP
php文件操作之文件写入字符串、数组的方法分析
2019/04/15 PHP
Javascript 错误处理的几种方法
2009/06/13 Javascript
JSONP 跨域共享信息
2012/08/16 Javascript
jQuery实现的导航动画效果(附demo源码)
2016/04/01 Javascript
jQuery控制li上下循环滚动插件用法实例(附demo源码下载)
2016/05/28 Javascript
解决vue2.x中数据渲染以及vuex缓存的问题
2017/07/13 Javascript
swiper 解决动态加载数据滑动失效的问题
2018/02/26 Javascript
jQuery实现输入框的放大和缩小功能示例
2018/07/21 jQuery
angularjs手动识别字符串中的换行符方法
2018/10/02 Javascript
JS中async/await实现异步调用的方法
2019/08/28 Javascript
js实现直播点击飘心效果
2020/08/19 Javascript
[41:08]2014 DOTA2国际邀请赛中国区预选赛 HGT VS NE
2014/05/22 DOTA
[00:44]2016完美“圣”典 风云人物:Mikasa宣传片
2016/12/07 DOTA
python实现快速排序的示例(二分法思想)
2018/03/12 Python
Python判断两个list是否是父子集关系的实例
2018/05/04 Python
flask框架实现连接sqlite3数据库的方法分析
2018/07/16 Python
Pandas中resample方法详解
2019/07/02 Python
python pycharm的安装及其使用
2019/10/11 Python
Python实现直播推流效果
2019/11/26 Python
python Scrapy爬虫框架的使用
2021/01/21 Python
Canvas实现保存图片到本地的示例代码
2018/06/28 HTML / CSS
原生 JS+CSS+HTML 实现时序图的方法
2019/07/31 HTML / CSS
canvas实现图片镜像翻转的2种方式
2020/07/22 HTML / CSS
联想新西兰官方网站:Lenovo New Zealand
2018/10/30 全球购物
毕业设计计划书
2014/01/09 职场文书
淘宝网店营销策划书
2014/01/11 职场文书
2014年情人节活动方案
2014/02/16 职场文书
公司承诺书格式
2014/05/21 职场文书
2014年材料员工作总结
2014/11/19 职场文书
教师师德承诺书2016
2016/03/25 职场文书
MySQL新手入门进阶语句汇总
2022/09/23 MySQL