python中set和dict类型_python从菜鸟到小仙的成长之路-----Dict和Set类型篇
Dict:
花括号 {} 表示这是一个dict,然后按照 key: value, 写出来即可。最后一个 key: value 的逗号可以省略。
d = {
'Adam': 95,
'Lisa': 85,
'Bart': 59,
'Paul': 75
}
print d
注意: 通过 key 访问 dict 的value,只要 key 存在,dict就返回对应的value。如果key不存在,会直接报错:KeyError。
要避免 KeyError 发生,有两个办法:
一是先判断一下 key 是否存在,用 in 操作符:
if 'Paul' in d:
print d['Paul']
二是使用dict本身提供的一个 get 方法,在Key不存在的时候,返回None:
>>> print d.get('Bart')
59
>>> print d.get('Paul')
None
打印dict:
d = {
'Adam': 95,
'Lisa': 85,
'Bart': 59
}
print 'Adam:', d['Adam']
print 'Lisa:', d['Lisa']
print 'Bart:', d['Bart']
dict第一个特点是查找速度快.
dict第二个特点就是存储的key-value序对是没有顺序的,dict内部是无序的,不能用dict存储有序的集合.
dict的第三个特点是作为 key 的元素必须不可变.
d = {
95: 'Adam',
85: 'Lisa',
59: 'Bart'
}
更新dict:
d = {
95: 'Adam',
85: 'Lisa',
59: 'Bart'
}
d[72] = 'Paul'
print d
遍历dict:
d = {
'Adam': 95,
'Lisa': 85,
'Bart': 59
}
for k in d:
print k + ':',d[k]
Set:
set 持有一系列元素,这一点和 list 很像,但是set的元素没有重复,而且是无序的,这点和 dict 的 key很像。
创建 set 的方式是调用 set() 并传入一个 list:
s = set(['A', 'B', 'C'])
set不能包含重复的元素
访问set
set不能识别小写的名字,会被认为是两个不同的元素
set的特点
1.set的内部结构和dict很像,唯一区别是不存储value,因此,判断一个元素是否在set中速度很快。
2.set存储的元素和dict的key类似,必须是不变对象,因此,任何可变对象是不能放入set中的。
3.set存储的元素也是没有顺序的。
ep:
months = set(['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul','Aug','Sep','Oct','Nov','Dec'])
x1 = 'Feb'
x2 = 'Sun'
if x1 in months:
print 'x1: ok'
else:
print 'x1: error'
if x2 in months:
print 'x2: ok'
else:
print 'x2: error'
遍历set
s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])
for x in s:
print x[0] + ':', x[1]
更新set
一是把新的元素添加到set中,二是把已有元素从set中删除。
添加:add()方法,默认加在后面,如果添加的元素已经存在于set中,add()不会报错,但是不会加进去了;
删除:remove()方法,如果删除的元素不存在set中,remove()会报错;
ep:
s = set(['Adam', 'Lisa', 'Paul'])
L = ['Adam', 'Lisa', 'Bart', 'Paul']
for x in L:
if x in s:
s.remove(x)
else:
s.add(x)
print s
To be continue.......
python中set和dict类型_python从菜鸟到小仙的成长之路-----Dict和Set类型篇相关推荐
- python中成语接龙游戏_python——成语接龙小游戏
小试牛刀的简易成语接龙. 思路-- 1.网上下载成语字典的txt版本 2.通过python进行处理得到格式化的成语,并整理成字典(python字典查找速度快) 3.python程序,查找 用户输入的最 ...
- python中显示第三行数据_Python数据分析及可视化-小测验
image.png 首先将5题的文件复制形成副本,如下图所示: image.png 在资源管理器的路径中输入cmd,如下图所示: image.png 在上图中输入后,按Enter键运行进入cmd窗口. ...
- [转载] python中for语句用法_详解Python中for循环的使用_python
参考链接: 在Python中将else条件语句与for循环一起使用 这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下 for 循环 本系列前面 &q ...
- 简述python中的内存管理机制_Python中的内存管理机制
Python是如何进行内存管理的 python引用了一个内存池(memory pool)机制,即pymalloc机制,用于管理对小块内存的申请和释放 1.介绍 python和其他高级语言一样,会进行自 ...
- python中for语句用法_详解Python中for循环的使用_python
这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下 for 循环 本系列前面 "探索 Python,第 5 部分:用 Python 编程&q ...
- python中的变量的引用_python中的变量引用小结
python的变量都可以看成是内存中某个对象的引用.(变量指向该内存地址存储的值) 1.python中的可更改对象和不可更改对象 python中的对象可以分为可更改(mutable)对象与不可更改(i ...
- python中异或怎么算_python 异或运算的前提_异或运算公式
Python基础(10)–数字-Python-第七城市 609x288 - 73KB - JPEG Python基础(10)--数字_资讯_突袭网 609x288 - 33KB - JPEG pyth ...
- python中导入模块的方式_Python中几种导入模块的方式总结
模块内部封装了很多实用的功能,有时在模块外部调用就需要将其导入.常见的方式有如下几种: 1 . import >>> import sys >>> sys.path ...
- python中seek(10、1)_Python中index()和seek()的用法(详解)
1.index() 一般用处是在序列中检索参数并返回第一次出现的索引,没找到就会报错,比如: >>> t=tuple('Allen') >>> t ('A', 'l ...
最新文章
- Python学习之旅 —— 基础篇(二)数据类型、运算、while循环
- Java实体类对象修改日志记录
- 搭载「光线追踪」技术的次时代主机会有怎样的画面表现?
- java中mvc事务_关于项目中的事务问题_JavaEE框架(Maven+SpringMvc+Spring+MyBatis)全程实战教程_Java视频-51CTO学院...
- k8s多节点仪表盘(web界面)部署与谷歌浏览器访问k8s仪表盘问题解决!
- excel如何去重统计户数_公式解读第三期 单元格中数字如何去重排序?
- request payload怎么发_做了一个个人博客,但不知道怎么介绍
- Android 系统性能优化(36)---显示性能指标
- android耳机孔状态设置,android 耳机系统笔记2 --多媒体设备各种状态
- 计算机技术中采用二进制,在计算机技术中采用二进制.docx
- 客户端的云桌面平台配置与开启(附,登录“云电脑”与切换登录账号)
- java工作流_Java 实现简单工作流
- dell服务器开机自动进入bios设置,戴尔服务器不能进入BIOS的解决方案
- 【最实用的chrome插件】CSDN 浏览器插件:CSDN 开发者助手(测评手册1)
- 如何恢复手动删除的微信聊天记录?2个简单高效方法推荐
- 如何进行音频录制?实用的音频录制方法合集
- pythonqq刷消息_QQ快速刷幸运字符
- Unknown custom element: <uni-data-checkbox> - did you register the component correctly? For recursi
- 【转】异常清晰GeoEye-1 卫星照片来了
- oracle手动挂载crs盘,手动清除CRS信息
热门文章
- 使用Python的随机数模块 random 实现猜数字游戏
- 常见服务器小机型号,小机服务器一览.ppt
- jquery 手型 鼠标穿过时_专业电竞鼠标有什么独到之处?看完核技瑞你就知道了
- CTF(pwn)-格式化字符串漏洞讲解(一)
- 学Python一定要知道的十段经典代码
- python教程:几个基础类型循环删除
- max 安装 mysql5.x_MySQL5.7安装
- c语言通讯录项目(电话簿)
- markdown输出为pdf没有图片怎么办?
- centos7安装Metricbeat7.6.0采集nginx指标