详解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下载懒人图库JavaScript特效
May 28 Python
Python基于PycURL实现POST的方法
Jul 25 Python
Python在Windows和在Linux下调用动态链接库的教程
Aug 18 Python
Python操作MySQL模拟银行转账
Mar 12 Python
Windows 7下Python Web环境搭建图文教程
Mar 20 Python
Python 3.x 安装opencv+opencv_contrib的操作方法
Apr 02 Python
Python利用openpyxl库遍历Sheet的实例
May 03 Python
对python cv2批量灰度图片并保存的实例讲解
Nov 09 Python
PyCharm中代码字体大小调整方法
Jul 29 Python
win10环境下配置vscode python开发环境的教程详解
Oct 16 Python
Python API 操作Hadoop hdfs详解
Jun 06 Python
在keras中对单一输入图像进行预测并返回预测结果操作
Jul 09 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数组函数序列之in_array() - 查找数组中是否存在指定值
2011/11/07 PHP
PHP中使用unset销毁变量并内存释放问题
2012/07/05 PHP
谈谈关于php的优点与缺点
2013/04/11 PHP
php格式化json函数示例代码
2016/05/12 PHP
[原创]php常用字符串输出方法分析(echo,print,printf及sprintf)
2016/07/09 PHP
yii框架数据库关联查询操作示例
2019/10/14 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
IE7提供XMLHttpRequest对象为兼容
2007/03/08 Javascript
js focus不起作用的解决方法(主要是因为dom元素是否加载完成)
2010/11/05 Javascript
无阻塞加载脚本分析[全]
2011/01/20 Javascript
Jquery实现视频播放页面的关灯开灯效果
2013/05/27 Javascript
js中的eventType事件及其浏览器支持性介绍
2013/11/29 Javascript
node.js中的fs.utimes方法使用说明
2014/12/15 Javascript
JavaScript实现标题栏文字轮播效果代码
2015/10/24 Javascript
js 获取元素所有兄弟节点的实现方法
2016/09/06 Javascript
JS代码实现百度地图 画圆 删除标注
2016/10/12 Javascript
Vue form 表单提交+ajax异步请求+分页效果
2017/04/22 Javascript
javascript与PHP动态往类中添加方法对比
2018/03/21 Javascript
老生常谈JS中的继承及实现代码
2018/07/06 Javascript
vue-content-loader内容加载器的使用方法
2018/08/05 Javascript
Vue项目从webpack3.x升级webpack4不完全指南
2019/04/28 Javascript
JavaScript迭代器的含义及用法
2019/06/21 Javascript
layuiAdmin循环遍历展示商品图片列表的方法
2019/09/16 Javascript
使用GitHub和Python实现持续部署的方法
2019/05/09 Python
如何更优雅地写python代码
2019/07/02 Python
Python中如何将一个类方法变为多个方法
2019/12/30 Python
CSS3 新增选择器的实例
2019/11/13 HTML / CSS
html5摇一摇代码优化包括DeviceMotionEvent等等
2014/09/01 HTML / CSS
Html5之title吸顶功能
2018/06/04 HTML / CSS
应届护士推荐信
2013/11/16 职场文书
金属材料工程个人求职的自我评价
2013/12/04 职场文书
2015年初中元旦晚会活动总结
2014/11/28 职场文书
2015年食品安全宣传周活动总结
2015/07/09 职场文书
修改MySQL的数据库引擎为INNODB的方法
2021/05/26 MySQL
如何解决goland,idea全局搜索快捷键失效问题
2022/04/03 Golang
Python matplotlib绘制条形统计图 处理多个实验多组观测值
2022/04/21 Python