详解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实现对比不同字体中的同一字符的显示效果
Apr 23 Python
python编程开发之日期操作实例分析
Nov 13 Python
用virtualenv建立多个Python独立虚拟开发环境
Jul 06 Python
Python语言实现百度语音识别API的使用实例
Dec 13 Python
python集合比较(交集,并集,差集)方法详解
Sep 13 Python
用python介绍4种常用的单链表翻转的方法小结
Feb 24 Python
用Python生成HTML表格的方法示例
Mar 06 Python
详解用Python进行时间序列预测的7种方法
Mar 13 Python
Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法
Mar 20 Python
使用Python实现将多表分批次从数据库导出到Excel
May 15 Python
Python中过滤字符串列表的方法
Dec 22 Python
Python实现列表拼接和去重的三种方式
Jul 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 验证图片生成函数
2009/05/21 PHP
两个强悍的php 图像处理类1
2009/06/15 PHP
php正则过滤html标签、空格、换行符的代码(附说明)
2010/10/25 PHP
在PHP中使用curl_init函数的说明
2010/11/02 PHP
详解WordPress中用于更新和获取用户选项数据的PHP函数
2016/03/08 PHP
实例介绍PHP中zip_open()函数用法
2019/02/15 PHP
jQuery Dialog 弹出层对话框插件
2010/08/09 Javascript
js动态添加事件并可传参数示例代码
2013/10/21 Javascript
js 阻止子元素响应父元素的onmouseout事件具体实现
2013/12/23 Javascript
JavaScript函数的4种调用方法详解
2014/04/22 Javascript
JS简单模拟触发按钮点击功能的方法
2015/11/30 Javascript
jQuery  ready方法实现原理详解
2016/10/19 Javascript
jquery tmpl模板(实例讲解)
2017/09/02 jQuery
分享vue里swiper的一些坑
2018/08/30 Javascript
Python实现Const详解
2015/01/27 Python
python中的字典使用分享
2016/07/31 Python
matplotlib作图添加表格实例代码
2018/01/23 Python
使用requests库制作Python爬虫
2018/03/25 Python
pytorch中tensor的合并与截取方法
2018/07/26 Python
使用Python的OpenCV模块识别滑动验证码的缺口(推荐)
2019/05/10 Python
PyQt5重写QComboBox的鼠标点击事件方法
2019/06/25 Python
python向字符串中添加元素的实例方法
2019/06/28 Python
tensorflow 保存模型和取出中间权重例子
2020/01/24 Python
Python random模块制作简易的四位数验证码
2020/02/01 Python
Python loguru日志库之高效输出控制台日志和日志记录
2020/03/07 Python
Win10环境中如何实现python2和python3并存
2020/07/20 Python
css3实现书本翻页效果的示例代码
2021/03/08 HTML / CSS
HTML5中FileReader接口使用方法实例详解
2017/08/26 HTML / CSS
IdealFit官方网站:女性蛋白质、补充剂和运动服装
2019/03/24 全球购物
Liu Jo西班牙官网:意大利服装品牌
2019/09/11 全球购物
西雅图的买手店:Totokaelo
2019/10/19 全球购物
党委班子对照检查材料
2014/08/19 职场文书
2014年外贸业务员工作总结
2014/12/11 职场文书
2016新年慰问信范文
2015/03/25 职场文书
大学生实习介绍信
2015/05/05 职场文书
三星 3nm 芯片将于第二季度开始量产
2022/04/29 数码科技