详解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检测lvs real server状态
Jan 22 Python
Python中利用函数装饰器实现备忘功能
Mar 30 Python
python中requests和https使用简单示例
Jan 18 Python
基于python log取对数详解
Jun 08 Python
Python实现高斯函数的三维显示方法
Dec 29 Python
Python HTML解析器BeautifulSoup用法实例详解【爬虫解析器】
Apr 05 Python
windows下python虚拟环境virtualenv安装和使用详解
Jul 16 Python
python 按钮点击关闭窗口的实现
Mar 04 Python
Python selenium如何打包静态网页并下载
Aug 12 Python
基于python实现百度语音识别和图灵对话
Nov 02 Python
python 逆向爬虫正确调用 JAR 加密逻辑
Jan 12 Python
Pytest中conftest.py的用法
Jun 27 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
linux php mysql数据库备份实现代码
2009/03/10 PHP
PHP 检查扩展库或函数是否可用的代码
2010/04/06 PHP
IIS+fastcgi下PHP运行超时问题的解决办法详解
2013/06/20 PHP
Yii使用find findAll查找出指定字段的实现方法
2014/09/05 PHP
Zend Framework教程之路由功能Zend_Controller_Router详解
2016/03/07 PHP
PHP代码覆盖率统计详解
2020/07/22 PHP
Js+Dhtml:WEB程序员简易开发工具包(预先体验版)
2006/11/07 Javascript
Json对象替换字符串占位符实现代码
2010/11/17 Javascript
jQuery 源码分析笔记(2) 变量列表
2011/05/28 Javascript
Javascript图像处理—虚拟边缘介绍及使用方法
2012/12/27 Javascript
高效率JavaScript编写技巧整理
2013/08/23 Javascript
jQuery 如何先创建、再修改、后添加DOM元素
2014/05/20 Javascript
js实现checkbox全选、不选与反选的方法
2015/02/09 Javascript
jQuery插件datalist实现很好看的input下拉列表
2015/07/14 Javascript
BootstrapValidator实现注册校验和登录错误提示效果
2017/03/10 Javascript
Vue.js简易安装和快速入门(第二课)
2017/10/17 Javascript
详解Js中的模块化是如何实现的
2017/10/18 Javascript
js屏蔽退格键(backspace或者叫后退键与F5)
2019/02/10 Javascript
JavaScript 变量,数据类型基础实例详解【变量、字符串、数组、对象等】
2020/01/04 Javascript
jQuery实现颜色打字机的完整代码
2020/03/19 jQuery
vue+swiper实现左右滑动的测试题功能
2020/10/30 Javascript
[17:13]DOTA2 HEROS教学视频教你分分钟做大人-斯拉克
2014/06/13 DOTA
python基于右递归解决八皇后问题的方法
2015/05/25 Python
python中update的基本使用方法详解
2019/07/17 Python
Python使用lambda表达式对字典排序操作示例
2019/07/25 Python
Python 实现将数组/矩阵转换成Image类
2020/01/09 Python
python3注册全局热键的实现
2020/03/22 Python
Python3实现英文字母转换哥特式字体实例代码
2020/09/01 Python
VisionPros美国站:加拿大在线隐形眼镜和眼镜零售商
2020/02/11 全球购物
英国自行车商店:AW Cycles
2021/02/24 全球购物
荷兰美妆护肤品海淘网站:Beautinow(中文)
2020/11/22 全球购物
采购文员岗位职责
2013/11/20 职场文书
日语专业个人求职信范文
2014/02/02 职场文书
个人工作决心书
2015/09/22 职场文书
python基于机器学习预测股票交易信号
2021/05/25 Python
Pygame游戏开发之太空射击实战敌人精灵篇
2022/08/05 Python