详解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 相关文章推荐
sqlalchemy对象转dict的示例
Apr 22 Python
Python中replace方法实例分析
Aug 20 Python
Python模块搜索概念介绍及模块安装方法介绍
Jun 03 Python
python相似模块用例
Mar 04 Python
Python通过matplotlib画双层饼图及环形图简单示例
Dec 15 Python
Python基于dom操作xml数据的方法示例
May 12 Python
pandas.DataFrame的pivot()和unstack()实现行转列
Jul 06 Python
对于Python深浅拷贝的理解
Jul 29 Python
pycharm 使用tab跳出正在编辑的括号(){}{}等问题
Feb 26 Python
python 解决微分方程的操作(数值解法)
May 26 Python
变长双向rnn的正确使用姿势教学
May 31 Python
Python用any()函数检查字符串中的字母以及如何使用all()函数
Apr 14 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
注意:php5.4删除了session_unregister函数
2013/08/05 PHP
ThinkPHP3.1新特性之多层MVC的支持
2014/06/19 PHP
php实现多维数组排序的方法示例
2017/03/23 PHP
Laravel 5.1 框架Blade模板引擎用法实例分析
2020/01/04 PHP
深入理解JavaScript系列(37):设计模式之享元模式详解
2015/03/04 Javascript
javascript实现表单提交后,提交按钮不可用的方法
2015/04/18 Javascript
jQuery获取某天的农历日期并判断是否除夕或新年的方法
2016/03/01 Javascript
浅析创建javascript对象的方法
2016/05/13 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
2016/10/17 Javascript
jquery.tableSort.js表格排序插件使用方法详解
2020/08/12 Javascript
基于JavaScript实现全选、不选和反选效果
2017/02/15 Javascript
基于jQuery选择器之表单对象属性筛选选择器的实例
2017/09/19 jQuery
angular内置provider之$compileProvider详解
2017/09/27 Javascript
vue实现点击选中,其他的不选中方法
2018/09/05 Javascript
angularjs通过过滤器返回超链接的方法
2018/10/26 Javascript
200行HTML+JavaScript实现年会抽奖程序
2019/01/22 Javascript
微信小程序导航栏跟随滑动效果的实现代码
2019/05/14 Javascript
Nodejs监控事件循环异常示例详解
2019/09/22 NodeJs
sqlalchemy对象转dict的示例
2014/04/22 Python
python机器学习理论与实战(五)支持向量机
2018/01/19 Python
TensorFlow用expand_dim()来增加维度的方法
2018/07/26 Python
python根据文章标题内容自动生成摘要的实例
2019/02/21 Python
在Django model中设置多个字段联合唯一约束的实例
2019/07/17 Python
HTML5中Canvas与SVG的画图原理比较
2013/01/16 HTML / CSS
澳大利亚在线时尚精品店:Hello Molly
2018/02/26 全球购物
介绍一下HTTP、HTTPS和SSL
2012/12/16 面试题
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
2016/01/06 面试题
高三地理教学反思
2014/01/11 职场文书
恐龙的灭绝教学反思
2014/02/12 职场文书
入股协议书范本
2014/04/14 职场文书
体育专业求职信
2014/07/16 职场文书
无房产证房屋转让协议书合同样本
2014/10/18 职场文书
邀请函样本
2015/02/02 职场文书
机关工会工作总结2015
2015/05/26 职场文书
入党团支部推荐意见
2015/06/02 职场文书
新教师教学工作总结
2015/08/14 职场文书