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实现读取并保存文件的类
May 11 Python
Python 的类、继承和多态详解
Jul 16 Python
python语言中with as的用法使用详解
Feb 23 Python
Python计算开方、立方、圆周率,精确到小数点后任意位的方法
Jul 17 Python
Selenium定时刷新网页的实现代码
Oct 31 Python
python自动化之Ansible的安装教程
Jun 13 Python
selenium2.0中常用的python函数汇总
Aug 05 Python
基于Python获取docx/doc文件内容代码解析
Feb 17 Python
python扫描线填充算法详解
Feb 19 Python
python程序输出无内容的解决方式
Apr 09 Python
Python+redis通过限流保护高并发系统
Apr 15 Python
在Python中如何使用yield
Jun 07 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读取纯真ip数据库使用示例
2014/01/26 PHP
Drupal7连接多个数据库及常见问题解决
2014/03/02 PHP
PHP CURL 内存泄露问题解决方法
2015/02/12 PHP
Yii视图操作之自定义分页实现方法
2016/07/14 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
使弱类型的语言JavaScript变强势
2009/06/22 Javascript
ExtJs 3.1 XmlTreeLoader Example Error
2010/02/09 Javascript
深入理解Javascript闭包 新手版
2010/12/28 Javascript
fancybox modal的完美解决(右上的X)
2012/10/30 Javascript
Javascript中的Callback方法浅析
2015/03/15 Javascript
javascript实现用户点击数量统计
2016/12/25 Javascript
JS与HTML结合实现流程进度展示条思路详解
2017/09/03 Javascript
解决option标签selected="selected"属性失效的问题
2017/11/06 Javascript
extract-text-webpack-plugin用法详解
2019/02/14 Javascript
解决vue语法会有延迟加载显现{{xxx}}的问题
2019/11/14 Javascript
vue中jsonp插件的使用方法示例
2020/09/10 Javascript
vue实现前端列表多条件筛选
2020/10/26 Javascript
原生JS运动实现轮播图
2021/01/02 Javascript
[02:53]DOTA2英雄基础教程 山岭巨人小小
2013/12/09 DOTA
[04:03][TI9趣味短片] 小鸽子茶话会
2019/08/20 DOTA
解决python写的windows服务不能启动的问题
2014/04/15 Python
Python基于PycURL实现POST的方法
2015/07/25 Python
Django学习笔记之Class-Based-View
2017/02/15 Python
使用matplotlib画散点图的方法
2018/05/25 Python
Python基于mysql实现学生管理系统
2019/02/21 Python
Python函数的默认参数设计示例详解
2019/12/01 Python
python实现二分类和多分类的ROC曲线教程
2020/06/15 Python
西雅图的买手店:Totokaelo
2019/10/19 全球购物
牵手50新加坡:专为黄金岁月的单身人士而设的交友网站
2020/08/16 全球购物
.NET面试题:什么是反射
2016/09/30 面试题
最新自我评价范文
2013/11/16 职场文书
全国优秀辅导员事迹材料
2014/05/14 职场文书
应届生简历自我评价
2015/03/11 职场文书
和领导吃饭祝酒词
2015/08/11 职场文书
Windows和Linux上部署Golang并运行程序
2022/04/22 Servers
永中文档在线转换预览基于nginx配置部署方案
2022/06/10 Servers