详解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读写Excel文件的实例
Nov 01 Python
python中Flask框架简单入门实例
Mar 21 Python
python使用BeautifulSoup分析网页信息的方法
Apr 04 Python
pygame学习笔记(6):完成一个简单的游戏
Apr 15 Python
13个最常用的Python深度学习库介绍
Oct 28 Python
Java实现的执行python脚本工具类示例【使用jython.jar】
Mar 29 Python
Django admin model 汉化显示文字的实现方法
Aug 12 Python
Python随机函数库random的使用方法详解
Aug 21 Python
opencv3/C++实现视频读取、视频写入
Dec 11 Python
基于Python3.6中的OpenCV实现图片色彩空间的转换
Feb 03 Python
Python基于Faker假数据构造库
Nov 30 Python
python tkinter Entry控件的焦点移动操作
May 22 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
咖啡磨器 如何选购一台适合家用的意式磨豆机
2021/03/05 新手入门
了解Joomla 这款来自国外的php网站管理系统
2010/03/11 PHP
如何使用PHP获取指定日期所在月的开始日期与结束日期
2013/08/01 PHP
PHP的构造方法,析构方法和this关键字详细介绍
2013/10/22 PHP
Codeigniter检测表单post数据的方法
2015/03/21 PHP
如何使用微信公众平台开发模式实现多客服
2016/01/06 PHP
利用PHP扩展Xhprof分析项目性能实践教程
2018/09/05 PHP
用js实现上传图片前的预览(TX的面试题)
2007/08/14 Javascript
javascript基础之查找元素的详细介绍(访问节点)
2013/07/05 Javascript
JavaScript排序算法之希尔排序的2个实例
2014/04/04 Javascript
jQuery表格插件datatables用法总结
2014/09/05 Javascript
JavaScript中的Math.SQRT1_2属性使用简介
2015/06/14 Javascript
JavaScript实现删除,移动和复制文件的方法
2015/08/05 Javascript
Node.js重新刷新session过期时间的方法
2016/02/04 Javascript
巧方法 JavaScript获取超链接的绝对URL地址
2016/06/14 Javascript
基于jQuery实现文字打印动态效果
2017/04/21 jQuery
Vue之mixin全局的用法详解
2018/08/22 Javascript
教你完全理解ReentrantLock重入锁
2019/06/03 Javascript
layui checkbox默认选中,获取选中值,清空所有选中项的例子
2019/09/02 Javascript
微信小程序学习总结(二)样式、属性、模板操作分析
2020/06/04 Javascript
浅谈鸿蒙 JavaScript GUI 技术栈
2020/09/17 Javascript
[02:38]DOTA2超级联赛专访Loda 认为IG世界最强
2013/05/27 DOTA
python批量导出导入MySQL用户的方法
2013/11/15 Python
Python实现的RSS阅读器实例
2015/07/25 Python
Windows下安装python MySQLdb遇到的问题及解决方法
2017/03/16 Python
Python文件夹批处理操作代码实例
2020/07/21 Python
SHEIN香港:价格实惠的女性时尚服装
2018/08/14 全球购物
西班牙最大的在线滑板和街头服饰商店:Fillow.net
2019/04/15 全球购物
精彩广告词大全
2014/03/19 职场文书
公司董事长助理工作职责
2014/07/12 职场文书
2014年维稳工作总结
2014/11/18 职场文书
乐山大佛导游词
2015/02/02 职场文书
公司员工体检通知
2015/04/21 职场文书
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
2021/04/12 Python
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python
MySQL选择合适的备份策略和备份工具
2022/06/01 MySQL