详解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 相关文章推荐
Pyhton中防止SQL注入的方法
Feb 05 Python
centos6.4下python3.6.1安装教程
Jul 21 Python
Python简单实现自动删除目录下空文件夹的方法
Aug 29 Python
Python自定义装饰器原理与用法实例分析
Jul 16 Python
Python实现深度遍历和广度遍历的方法
Jan 22 Python
详解用Python练习画个美队盾牌
Mar 23 Python
centos7之Python3.74安装教程
Aug 15 Python
Python for循环及基础用法详解
Nov 08 Python
python实现对列表中的元素进行倒序打印
Nov 23 Python
python pillow库的基础使用教程
Jan 13 Python
教你如何用python开发一款数字推盘小游戏
Apr 14 Python
浅谈Python从全局与局部变量到装饰器的相关知识
Jun 21 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
PHP 网络开发详解之远程文件包含漏洞
2010/04/25 PHP
PHP运行时强制显示出错信息的代码
2011/04/20 PHP
php利用scws实现mysql全文搜索功能的方法
2014/12/25 PHP
PHP删除指定目录中的所有目录及文件的方法
2015/02/26 PHP
php利用fsockopen GET/POST提交表单及上传文件
2017/05/22 PHP
extjs 初始化checkboxgroup值的代码
2011/09/21 Javascript
jquery获取URL中参数解决中文乱码问题的两种方法
2013/12/18 Javascript
Jquery实现Div上下移动示例
2014/04/23 Javascript
处理文本部分内容的TextRange对象应用实例
2014/07/29 Javascript
Jquery通过JSON字符串创建JSON对象
2014/08/24 Javascript
前端面试题及答案整理(二)
2016/08/26 Javascript
nodejs利用http模块实现银行卡所属银行查询和骚扰电话验证示例
2016/12/30 NodeJs
Bootstrap表格使用方法详解
2017/02/17 Javascript
原生JS实现图片懒加载(lazyload)实例
2017/06/13 Javascript
浅谈函数调用的不同方式,以及this的指向
2017/09/17 Javascript
vue中如何实现后台管理系统的权限控制的方法示例
2018/09/19 Javascript
7个好用的JavaScript技巧分享(译)
2019/05/07 Javascript
微信小程序自定义头部导航栏和导航栏背景图片 navigationStyle问题
2019/07/26 Javascript
jquery.pager.js分页实现详解
2019/07/29 jQuery
Openlayers实现距离面积测量
2020/09/28 Javascript
jQuery实现本地存储
2020/12/22 jQuery
[01:50]2014DOTA2西雅图邀请赛 专访欢乐周宝龙
2014/07/08 DOTA
python概率计算器实例分析
2015/03/25 Python
python抓取最新博客内容并生成Rss
2015/05/17 Python
Python学生成绩管理系统简洁版
2020/04/05 Python
python互斥锁、加锁、同步机制、异步通信知识总结
2018/02/11 Python
新手如何发布Python项目开源包过程详解
2019/07/11 Python
深入理解HTML5定时器requestAnimationFrame的使用
2018/12/12 HTML / CSS
法律专业个人实习自我鉴定
2013/09/23 职场文书
女方婚礼新郎答谢词
2014/01/11 职场文书
医药类个人求职的自我评价
2014/02/12 职场文书
2014年入党积极分子学习三中全会思想汇报
2014/09/13 职场文书
2014年新教师工作总结
2014/11/08 职场文书
2016应届大学生自荐信模板
2016/01/28 职场文书
Java并发编程之详解CyclicBarrier线程同步
2021/06/23 Java/Android
处理canvas绘制图片模糊问题
2022/05/11 Javascript