详解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判断变量是否已经定义的方法
Aug 18 Python
Python中使用items()方法返回字典元素对的教程
May 21 Python
Python设计模式之观察者模式简单示例
Jan 10 Python
python 定时修改数据库的示例代码
Apr 08 Python
Python使用pickle模块储存对象操作示例
Aug 15 Python
Python打包方法Pyinstaller的使用
Oct 09 Python
在pandas多重索引multiIndex中选定指定索引的行方法
Nov 16 Python
python json.loads兼容单引号数据的方法
Dec 19 Python
python opencv 读取图片 返回图片某像素点的b,g,r值的实现方法
Jul 03 Python
python实现扫雷小游戏
Apr 24 Python
Python 实现简单的客户端认证
Jul 29 Python
python dict如何定义
Sep 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
php switch语句多个值匹配同一代码块应用示例
2014/07/29 PHP
CI框架中数据库操作函数$this->db->where()相关用法总结
2016/05/17 PHP
利用PHP访问带有密码的Redis方法示例
2017/02/09 PHP
PHP实现转盘抽奖算法分享
2020/04/15 PHP
javascript奇异的arguments分析
2010/10/20 Javascript
基于JavaScript 数据类型之Boolean类型分析介绍
2013/04/19 Javascript
jQuery的:parent选择器定义和用法
2014/07/01 Javascript
深入理解JavaScript系列(31):设计模式之代理模式详解
2015/03/03 Javascript
js中对函数设置默认参数值的3种方法
2015/10/23 Javascript
JavaScript设置、获取、清除单值和多值cookie的方法
2015/11/17 Javascript
微信小程序 Tab页切换更新数据
2017/01/05 Javascript
tween.js缓动补间动画算法示例
2018/02/13 Javascript
微信小程序局部刷新触发整页刷新效果的实现代码
2018/11/21 Javascript
Node.js API详解之 os模块用法实例分析
2020/05/06 Javascript
Angular+Ionic使用queryParams实现跳转页传值的方法
2020/09/05 Javascript
wxpython 最小化到托盘与欢迎图片的实现方法
2014/06/09 Python
用Python的Tornado框架结合memcached页面改善博客性能
2015/04/24 Python
Python中单例模式总结
2018/02/20 Python
python 矩阵增加一行或一列的实例
2018/04/04 Python
Python3中详解fabfile的编写
2018/06/24 Python
Python实现朴素贝叶斯分类器的方法详解
2018/07/04 Python
python主要用于哪些方向
2020/07/05 Python
django跳转页面传参的实现
2020/09/17 Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
2020/09/24 Python
python如何快速拼接字符串
2020/10/28 Python
matplotlib实现数据实时刷新的示例代码
2021/01/05 Python
HTML5实现桌面通知 提示功能
2017/10/11 HTML / CSS
印度在线购买电子产品网站:Croma
2020/01/02 全球购物
PHP面试题及答案一
2012/06/18 面试题
应届生财务管理求职信
2013/11/06 职场文书
体育口号大全
2014/06/18 职场文书
机关班子查摆问题及整改措施
2014/10/28 职场文书
三八妇女节致辞
2015/07/31 职场文书
MySQL 那些常见的错误设计规范,你都知道吗
2021/07/16 MySQL
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
2022/04/02 Servers
利用Apache Common将java对象池化的问题
2022/06/16 Servers