详解Python中dict与set的使用


Posted in Python onAugust 10, 2015

Python中类似于PHP的数组的结构有list,tuple,dict和set, 其中list, tuple和set的类似于PHP的索引数组, 而dict就类似于PHP的关联数组,
dict:

dict的结构表示了一种映射关系, 与PHP的关联数组类似, 比如要定义个用户信息如下:

name: Yi_Zhi_Yu
sex: Man
country: China

这个使用list,tuple和set都是不能直接表示出来的, 因为没有能够使用字符串做键值的结构,而dict就可以,如下

m = {"name":"Yi_Zhi_Yu", "sex":"Man", "country": "China"} //注意这里是`{}`, 不是`[]`
print m["name"] //Yi_Zhi_Yu
print m["sex"] //Man
print m["country"] //China

dict 的数值对象有个get方法, 让我们可以在获取指定key的时候可以指定默认值

  •     dict 在查找(hash key)和插入(没有顺序要求)速度方面比较有优势,但内存消耗较大
  •     而list则正好相反

Set:

Set 与 List 和 Tuple 类似, 但Set中的值是不会重复的
比如要定义学的课程,使用set定义:
定义如下:

classes = set([u"语文", u"数学", u"英文"]) //set 关键词, 括号中是个list
print classes //set([u'\u8bed\u6587', u'\u6570\u5b66', u'\u82f1\u6587'])

添加的方法是add

classes.add(u"数学")

//不会有重复

print classes //set([u'\u8bed\u6587', u'\u6570\u5b66', u'\u82f1\u6587'])
classes.add(u"历史")
print classes //set([u'\u8bed\u6587', u'\u6570\u5b66', u'\u5386\u53f2', u'\u82f1\u6587'])

删除的方法是remove:

classes.remove(u"历史")
print classes // set([u'\u8bed\u6587', u'\u6570\u5b66', u'\u82f1\u6587'])

Python 相关文章推荐
python中的内置函数getattr()介绍及示例
Jul 20 Python
探究python中open函数的使用
Mar 01 Python
Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例
May 16 Python
python实现三次样条插值
Dec 17 Python
python 批量解压压缩文件的实例代码
Jun 27 Python
使用Python实现画一个中国地图
Nov 23 Python
Python使用qrcode二维码库生成二维码方法详解
Feb 17 Python
Python decimal模块使用方法详解
Jun 08 Python
python中format函数如何使用
Jun 22 Python
Python把图片转化为pdf代码实例
Jul 28 Python
python中Pexpect的工作流程实例讲解
Mar 02 Python
python pygame 开发五子棋双人对弈
May 02 Python
分析并输出Python代码依赖的库的实现代码
Aug 09 #Python
python根据京东商品url获取产品价格
Aug 09 #Python
python制作一个桌面便签软件
Aug 09 #Python
Python 实现简单的电话本功能
Aug 09 #Python
python批量提取word内信息
Aug 09 #Python
python实现下载指定网址所有图片的方法
Aug 08 #Python
Python实现多线程抓取妹子图
Aug 08 #Python
You might like
gd库图片下载类实现下载网页所有图片的php代码
2012/08/20 PHP
PHP MVC框架skymvc支持多文件上传
2016/05/26 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
2019/04/09 PHP
精解window.setTimeout()&window.setInterval()使用方式与参数传递问题!
2007/11/23 Javascript
从数据结构分析看:用for each...in 比 for...in 要快些
2013/04/17 Javascript
浅谈JavaScript中的字符编码转换问题
2015/07/07 Javascript
第九章之路径分页标签与徽章组件
2016/04/25 Javascript
jQuery Ajax 实例代码 ($.ajax、$.post、$.get)
2016/04/29 Javascript
JS实现的自定义显示加载等待图片插件(loading.gif)
2016/06/17 Javascript
VueJs与ReactJS和AngularJS的异同点
2016/12/12 Javascript
vue loadmore组件上拉加载更多功能示例代码
2017/07/19 Javascript
vue-cli2.x项目优化之引入本地静态库文件的方法
2018/06/19 Javascript
Angular通过指令动态添加组件问题
2018/07/09 Javascript
JS中验证整数和小数的正则表达式
2018/10/08 Javascript
Vue内部渲染视图的方法
2019/09/02 Javascript
[00:35]DOTA2上海特级锦标赛 Newbee战队宣传片
2016/03/03 DOTA
[49:21]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第二场 11.05
2020/11/06 DOTA
python 字典(dict)遍历的四种方法性能测试报告
2014/06/25 Python
python类装饰器用法实例
2015/06/04 Python
恢复百度云盘本地误删的文件脚本(简单方法)
2017/10/21 Python
Python实现查看系统启动项功能示例
2018/05/10 Python
Windows系统下PhantomJS的安装和基本用法
2018/10/21 Python
在python2.7中用numpy.reshape 对图像进行切割的方法
2018/12/05 Python
python使用Geany编辑器配置方法
2020/02/21 Python
DataFrame.groupby()所见的各种用法详解
2020/06/14 Python
tensorflow 动态获取 BatchSzie 的大小实例
2020/06/30 Python
python线程优先级队列知识点总结
2021/02/28 Python
wordpress添加Html5的表单验证required方法小结
2020/08/18 HTML / CSS
La Redoute英国官网:法国时尚品牌
2017/04/27 全球购物
优秀的毕业生的自我评价
2013/12/12 职场文书
求职自我推荐信
2015/03/24 职场文书
2015年小学教师培训工作总结
2015/07/21 职场文书
小学四年级作文之最感动的一件事
2019/11/01 职场文书
python小程序之飘落的银杏
2021/04/17 Python
Python可视化学习之seaborn绘制矩阵图详解
2022/02/24 Python
MYSQL如何查看进程和kill进程
2022/03/13 MySQL