详解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之dict()的操作方法
Sep 24 Python
使用Python发送邮件附件以定时备份MySQL的教程
Apr 25 Python
详解Python在七牛云平台的应用(一)
Dec 05 Python
python实现飞机大战微信小游戏
Mar 21 Python
python生成器与迭代器详解
Jan 01 Python
Pytorch之contiguous的用法
Dec 31 Python
Python包,__init__.py功能与用法分析
Jan 07 Python
Pytorch: 自定义网络层实例
Jan 07 Python
浅谈Python的方法解析顺序(MRO)
Mar 05 Python
python多线程semaphore实现线程数控制的示例
Aug 10 Python
python 用opencv实现图像修复和图像金字塔
Nov 27 Python
python 使用OpenCV进行简单的人像分割与合成
Feb 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 无限级 SelectTree 类
2009/05/19 PHP
php异常处理技术,顶级异常处理器
2012/06/13 PHP
PHP中使用unset销毁变量并内存释放问题
2012/07/05 PHP
php实现的简单数据库操作Model类
2016/11/16 PHP
event.srcElement+表格应用
2006/08/29 Javascript
JavaScript 选中文字并响应获取的实现代码
2011/08/28 Javascript
JavaScript版DateAdd和DateDiff函数代码
2012/03/01 Javascript
图解Sublime Text3使用技巧
2015/12/21 Javascript
js实现获取两个日期之间所有日期的方法
2016/06/17 Javascript
Javascript农历与公历相互转换的简单实例
2016/10/09 Javascript
js实现右键菜单功能
2016/11/28 Javascript
利用Vue.js实现求职在线之职位查询功能
2017/07/03 Javascript
vue 中引用gojs绘制E-R图的方法示例
2018/08/24 Javascript
Vue-Router基础学习笔记(小结)
2018/10/15 Javascript
在Vue中使用axios请求拦截的实现方法
2018/10/25 Javascript
微信小程序实现下拉刷新动画
2019/06/21 Javascript
[06:33]DOTA2亚洲邀请赛小组赛第二日 TOP10精彩集锦
2015/01/31 DOTA
[01:32:10]NAVI vs VG Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
python 域名分析工具实现代码
2009/07/15 Python
Python解惑之整数比较详解
2017/04/24 Python
python设计tcp数据包协议类的例子
2019/07/23 Python
Python 实现大整数乘法算法的示例代码
2019/09/17 Python
利用python 读写csv文件
2020/09/10 Python
Python爬取微信小程序Charles实现过程图解
2020/09/29 Python
python中pdb模块实例用法
2021/01/15 Python
Boden澳大利亚官网:英国在线服装公司
2018/08/05 全球购物
会计系毕业个人自荐信格式
2013/09/23 职场文书
大一期末自我鉴定
2013/12/13 职场文书
《小松树和大松树》教学反思
2014/02/20 职场文书
高中教师评语大全
2014/04/25 职场文书
授权委托书(公民个人适用)
2014/09/19 职场文书
培训通知
2015/04/17 职场文书
答谢酒会主持词
2015/07/02 职场文书
运动员加油词
2015/07/18 职场文书
物业管理交接协议书
2016/03/24 职场文书
解决Tkinter中button按钮未按却主动执行command函数的问题
2021/05/23 Python