详解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中lambda的用法及其与def的区别解析
Jul 28 Python
python执行子进程实现进程间通信的方法
Jun 02 Python
尝试使用Python多线程抓取代理服务器IP地址的示例
Nov 09 Python
理解Python中的With语句
Mar 18 Python
Python的爬虫框架scrapy用21行代码写一个爬虫
Apr 24 Python
Python用imghdr模块识别图片格式实例解析
Jan 11 Python
python实现壁纸批量下载代码实例
Jan 25 Python
三步实现Django Paginator分页的方法
Jun 11 Python
python 递归调用返回None的问题及解决方法
Mar 16 Python
Django项目uwsgi+Nginx保姆级部署教程实现
Apr 19 Python
python自动统计zabbix系统监控覆盖率的示例代码
Apr 03 Python
用Python爬取各大高校并可视化帮弟弟选大学,弟弟直呼牛X
Jun 11 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
让JavaScript 轻松支持函数重载 (Part 1 - 设计)
2009/08/04 Javascript
纯文字版返回顶端的js代码
2013/08/01 Javascript
文本框回车提交与禁止提交示例
2013/09/27 Javascript
SeaJS 与 RequireJS 的差异对比
2014/12/08 Javascript
JavaScript异步加载浅析
2014/12/28 Javascript
总结JavaScript中布尔操作符||与&&的使用技巧
2015/11/17 Javascript
超实用的JavaScript表单代码段
2016/02/26 Javascript
js贪吃蛇游戏实现思路和源码
2016/04/14 Javascript
把多个JavaScript函数绑定到onload事件处理函数上的方法
2016/09/04 Javascript
javascript 判断页面访问方式电脑或者移动端
2016/09/19 Javascript
JS图片压缩(pc端和移动端都适用)
2017/01/12 Javascript
vue.js 1.x与2.0中js实时监听input值的变化
2017/03/15 Javascript
微信小程序实现自上而下字幕滚动
2018/07/14 Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
2018/08/22 Javascript
vue 左滑删除功能的示例代码
2019/01/28 Javascript
JavaScript一元正号运算符示例代码
2019/06/30 Javascript
微信小程序用户授权、位置授权及获取微信绑定手机号
2019/07/18 Javascript
layui的表单验证支持ajax判断用户名是否重复的实例
2019/09/06 Javascript
vue语法自动转typescript(解放双手)
2019/09/18 Javascript
小程序最新获取用户昵称和头像的方法总结
2019/09/23 Javascript
使用JS实现鼠标放上图片进行放大离开实现缩小功能
2021/01/27 Javascript
python使用rsa加密算法模块模拟新浪微博登录
2014/01/22 Python
python导入时小括号大作用
2017/01/10 Python
python itchat实现微信好友头像拼接图的示例代码
2017/08/14 Python
Python判断telnet通不通的实例
2019/01/26 Python
对PyQt5基本窗口控件 QMainWindow的使用详解
2019/06/19 Python
如何在Python对Excel进行读取
2020/06/04 Python
canvas绘制圆角头像的实现方法
2019/01/17 HTML / CSS
大专自我鉴定范文
2013/10/23 职场文书
预备党员思想汇报
2014/01/08 职场文书
个人诉讼委托书范本
2014/10/17 职场文书
劳动争议和解协议书范本
2014/11/20 职场文书
三好学生评语大全
2014/12/29 职场文书
优秀党员主要事迹范文
2015/11/05 职场文书
Python实战之实现简易的学生选课系统
2021/05/25 Python
GTX1650super好不好 gtx1650super显卡属于什么级别
2022/04/08 数码科技