详解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程序生成word和PDF文档的方法
Feb 14 Python
Python利用Beautiful Soup模块修改内容方法示例
Mar 27 Python
Python多线程实现同步的四种方式
May 02 Python
scrapy爬虫完整实例
Jan 25 Python
python2.7+selenium2实现淘宝滑块自动认证功能
Feb 24 Python
Python使用ctypes调用C/C++的方法
Jan 29 Python
Keras 在fit_generator训练方式中加入图像random_crop操作
Jul 03 Python
Python faker生成器生成虚拟数据代码实例
Jul 20 Python
python 如何快速复制序列
Sep 07 Python
python制作抽奖程序代码详解
Jan 15 Python
Matlab求解数组中的最大值及它所在的具体位置
Apr 16 Python
python 命令行传参方法总结
May 25 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 HtmlReplace输入过滤安全函数
2010/07/03 PHP
php DOS攻击实现代码(附如何防范)
2012/05/29 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
PHP中的empty、isset、isnull的区别与使用实例
2019/03/22 PHP
extjs 学习笔记(二) Ext.Element类
2009/10/13 Javascript
JQuery 常用操作代码
2010/03/14 Javascript
Js日期选择器并自动加入到输入框中示例代码
2013/08/02 Javascript
Node.js插件的正确编写方式
2014/08/03 Javascript
node.js中的fs.readFile方法使用说明
2014/12/15 Javascript
JQuery中attr方法和removeAttr方法用法实例
2015/05/18 Javascript
微信小程序 欢迎页面的制作(源码下载)
2017/01/09 Javascript
JS实现最简单的冒泡排序算法
2017/02/15 Javascript
ES6中Proxy与Reflect实现重载(overload)的方法
2017/03/30 Javascript
Django+Vue.js搭建前后端分离项目的示例
2017/08/07 Javascript
React Native中TabBarIOS的简单使用方法示例
2017/10/13 Javascript
angular基于ng-alain定义自己的select组件示例
2018/02/23 Javascript
Vue刷新修改页面中数据的方法
2018/09/16 Javascript
脚手架vue-cli工程webpack的基本用法详解
2018/09/29 Javascript
原生JS实现逼真的图片3D旋转效果详解
2019/02/16 Javascript
JS实现集合的交集、补集、差集、去重运算示例【ES5与ES6写法】
2019/02/18 Javascript
vue2之简易的pc端短信验证码的问题及处理方法
2019/06/03 Javascript
浅谈监听单选框radio改变事件(和layui中单选按钮改变事件)
2019/09/10 Javascript
如何在node环境实现“get数据解析”代码实例
2020/07/03 Javascript
[44:51]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第二场
2018/04/05 DOTA
使用Python的PIL模块来进行图片对比
2016/02/18 Python
Linux下python制作名片示例
2018/07/20 Python
python如何获取列表中每个元素的下标位置
2019/07/01 Python
Python爬虫获取豆瓣电影并写入excel
2020/07/31 Python
巴西图书和电子产品购物网站:Saraiva
2017/06/07 全球购物
厨房工作人员岗位职责
2013/11/15 职场文书
外语专业毕业生个人的自荐信
2013/11/19 职场文书
销售文员的岗位职责
2013/11/20 职场文书
中专毕业生个人职业生涯规划
2014/02/19 职场文书
父亲节寄语大全
2015/02/27 职场文书
三八妇女节致辞
2015/07/31 职场文书
中秋晚会致辞
2015/07/31 职场文书