详解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实现向ppt文件里插入新幻灯片页面的方法
Apr 28 Python
python中的代码编码格式转换问题
Jun 10 Python
Python的GUI框架PySide的安装配置教程
Feb 16 Python
Python实现Linux的find命令实例分享
Jun 04 Python
Collatz 序列、逗号代码、字符图网格实例
Jun 22 Python
CentOS中升级Python版本的方法详解
Jul 10 Python
一道python走迷宫算法题
Jan 22 Python
Python 将pdf转成图片的方法
Apr 23 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
Sep 17 Python
使用python制作一个为hex文件增加版本号的脚本实例
Jun 12 Python
基于打开pycharm有带图片md文件卡死问题的解决
Apr 24 Python
Python Excel vlookup函数实现过程解析
Jun 22 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下使用iconv需要注意的问题
2010/11/20 PHP
工厂模式在Zend Framework中应用介绍
2012/07/10 PHP
通过php修改xml文档内容的方法
2015/01/23 PHP
关于PHP转换超过2038年日期出错的问题解决
2017/06/28 PHP
PDO::exec讲解
2019/01/28 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
js 页面传参数时 参数值含特殊字符的问题
2009/12/13 Javascript
用js模拟JQuery的show与hide动画函数代码
2010/09/20 Javascript
Javascript面向对象扩展库代码分享
2012/03/27 Javascript
JavaScript将Table导出到Excel实现思路及代码
2013/03/13 Javascript
jquery网页回到顶部效果(图标渐隐,自写)
2014/06/16 Javascript
JS脚本根据手机浏览器类型跳转WAP手机网站(两种方式)
2015/08/04 Javascript
JavaScript SHA512加密算法详细代码
2016/10/06 Javascript
全面解析node 表单的图片上传
2016/11/21 Javascript
jQuery编写设置和获取颜色的插件
2017/01/09 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
2017/01/10 Javascript
JS实现的验证身份证及获取地区功能示例
2017/01/16 Javascript
利用prop-types第三方库对组件的props中的变量进行类型检测
2017/05/02 Javascript
Vue父子组件之间的通信实例详解
2018/09/28 Javascript
JS实现图片拖拽交换效果
2018/11/30 Javascript
在小程序中推送模板消息的实现方法
2019/07/22 Javascript
新手入门js闭包学习过程解析
2019/10/08 Javascript
vue中使用elementUI组件手动上传图片功能
2019/12/13 Javascript
[49:13]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第一局
2016/02/27 DOTA
[46:12]完美世界DOTA2联赛循环赛 DM vs Matador BO2第一场 11.04
2020/11/04 DOTA
python fabric实现远程部署
2017/01/05 Python
Python基于property实现类的特性操作示例
2018/06/15 Python
Django实现表单验证
2018/09/08 Python
Python单元测试与测试用例简析
2019/11/09 Python
Python的scikit-image模块实例讲解
2020/12/30 Python
销售简历自我评价怎么写
2014/09/26 职场文书
群众路线自我剖析范文
2014/11/04 职场文书
驳回起诉裁定书
2015/05/19 职场文书
2019年中学生的思想品德评语集锦
2019/12/19 职场文书
SQL Server表分区删除详情
2021/10/16 SQL Server
德劲DE1107指针试高灵敏度全波段收音机机评
2022/04/05 无线电