Dict字典,是另一种可变类型的容器模型,可以存储任意类型对象。

1、字典的创建

字典的每个键值对(key->value)使用冒号(:)分隔,键值对之间使用逗号(,)分隔,使用花括号{}包含元素。键必须是唯一的,值可以不唯一。

值可以选取任意数据类型,但键必须是不可变的,如数字、字符串、元组。下面是一个字典的实例:

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

还可以创建一个空字典:

dict={}

2、字典的访问

可以简单地使用 d[key] 的形式来查找对应的 value,这和 list 很像,不同之处是,list 必须使用索引返回对应的元素,而dict使用key:

print dict['Beth']

结果:

9102

如果方括号中的key存在就会返回对应的value,如果不存在则会报错:KeyError。

有两种方法可以避免KeyError:

(1)在使用key访问字典之前先判断一下key是否存在:

if 'Beth' in dict:print dict['Beth']

(2)使用Dict本身提供的get方法,当key不存在时返回None:

print dict.get('Tom') #None

3、修改字典

修改字典的方法有添加新的键值对,修改已有key的value和删除已有的键值对:

(1)添加新的键值对:

dict['Tom']='1234' #add new entry
dict['Alice']='0000' #update existing entry
print dict

结果:

{'Alice': '0000', 'Beth': '9102', 'Cecil': '3258','Tom':'1234'}

4、删除字典元素

可以删除字典元素,清空字典,还可以删除整个字典:

del dict['Tom'] #删除某一个条目
dict.clear() #清空字典,但dict还存在,是一个空字典
del dict #显示删除字典,dict不存在,再次访问会出错

5、字典的特点

(1)dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降。

不过dict的查找速度快不是没有代价的,dict的缺点是占用内存大,还会浪费很多内容,list正好相反,占用内存小,但是查找速度慢。

由于字典是按key查找元素的,因此字典中的key不能重复。

(2)dict的第二个特点就是存储的key-value序对是没有顺序的!这和list不一样。也就是说,字典是无序的,不能用来存储有序的集合。

(3)dict的第三个特点是作为 key 的元素必须不可变,Python的基本类型如字符串、整数、浮点数还有元组都是不可变的,都可以作为 key。但是list是可变的,就不能作为 key。不过value是可变的。

6、字典的遍历

dict也是一个集合,所以它的遍历和list类似,一个for循环就可以遍历:

dict = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
for key in dict:print key+":"+str(dict[key])

结果:

Lisa:85
Adam:95
Bart:59

7、字典的迭代

字典类型有几个内置函数可以用来迭代字典元素:keys()、values()、items():

keys返回字典的所有键构成的list,values返回所有值构成的list,item返回由键值对组成的list:

现在就可以这样迭代字典了:

for key,value in dict:print key,":",value

结果:

Lisa:85
Adam:95
Bart:59

8、Python内置函数

Python内置数据类型之Dict相关推荐

  1. 数据结构(Python版):Python内置数据类型

    1. Python内置数据类型 python内置数据类型中的列表list和字典dict,可作为Python语言中实现各种常用数据结构的基石,后续各种数据结构均基于他们实现.两种数据类型的常见(操作)方 ...

  2. 以下不是python内置数据类型的是_以下不是python内置数据类型的是

    以下不是python内置数据类型的是 答:float 关于分娩先兆,下述哪项是错误的 答:初产妇见红血量比经产妇多 中国提出的________理念,为世界和平繁荣提供了新路径,并被写入联合国决议 答: ...

  3. Python内置数据类型之Tuple

    tuple是另一种有序的列表,中文翻译为" 元组 ".tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了.还有就是,list使用中括号[],而tuple ...

  4. Python内置数据类型之list

    list,列表,是Python内置的一种数据类型.list是一种有序的集合,可以随时添加和删除其中的元素.一个简单的方法识别list,即用"[]"括起来的就是list. 下面介绍l ...

  5. python 内置数据类型之数字

    目录: 1.2. 数字 1.2.1. 数字类型 1.2.2. 浮点数 1.2.3. 进制记数 1.2.4. 设置小数精度 1.2.5. 分数 1.2.6. 除法 1.2 数字 1.2.1 数字类型 p ...

  6. python语言中内置的字符串排版方法_python基础知识(python内置数据类型-字符串)...

    python中的字符串 字符串基本特点 字符串的本质是字符序列.python中的字符串是不可变的,无法对原字符串做任何修改(不能用下标赋值的方式去改变字符串).但是可以将字符串的一部分赋值创建新的字符 ...

  7. python内置数据结构之dict

    字典是什么 key-value对的集合.可变的.无序.key不重复的序列.key只能是唯一标识,value不限定,只要是合法的value.key和value一一对应. 字典的定义初始化 空字典定义 d ...

  8. python内置数据类型与特点_初学Python之内置数据类型一

    Python中一些基本数据类型: Booleans[布尔型] 或为 True[真] 或为 False[假]. Numbers[数值型] 可以是 Integers[整数](1 和 2).Floats[浮 ...

  9. python类型-Python基本内置数据类型有哪些?

    玩蛇网Python学习平台在这里会和大家讲下Python初学者,最常用到的Python基本内置数据类型有哪些. 在Python程序中,每个数据都是对像,每个对像都有自己的一个类型.不同类型有不同的操作 ...

最新文章

  1. iphone smtp服务器没有响应,电子邮件卡在iPhone或iPad上的发件箱?如何修复iOS中的未发送邮件 | MOS86...
  2. 如果遇到Hadoop集群正常,MapReduce作业运行出现错误,如何来查看作业运行日志(图文详解)...
  3. mybatis 大于小于转义_10 HTML5特性、转义字符和注释
  4. c++11的10个新特性
  5. 花呗分期计算器_花呗分期10000元利息怎么算?取决于你的分期期数!
  6. .ssh文件夹在哪里_【TOOLS】本地利用ssh远程连接服务器并启用远程服务器的jupyter lab并配置好anaconda的环境...
  7. hihocoder第237周:三等分带权树
  8. 一种语音控制PPT翻页系统的制作方法
  9. 使用GMM进行语音性别检测(入门)
  10. 14-微信小程序商城 产品详情页布局(微信小程序商城开发、小程序毕业设计、小程序源代码)(黄菊华-微信小程序开发教程)
  11. rls自适应滤波器matlab实现,Matlab自适应滤波器设计Demo——LMS,RLS
  12. 华为网络设备查看设备温度状态检查命令方法
  13. OC算法 输出手机号码归属地
  14. 软件测试—十二章测试层次
  15. Java--SpringBoot无法访问网站
  16. 《软技能》读书笔记——生产力篇
  17. java中dom是什么_程序员总说的DOM到底是什么?
  18. c语言中指针用法初级,C语言中各类指针的用法(小结)
  19. 基于Mui与H5+开发webapp的Android原生工程打包步骤(使用新版本5+SDK与Android studio)(部分内容转自dcloud官网)...
  20. ios客户端安全性问题分析及处理方式

热门文章

  1. JAVA异常处理、常用类、反射、集合
  2. Discuz 升级X3问题汇总整理
  3. Javascript -- In
  4. 【文摘】 雪念——作者:蓝色妖姬
  5. vue lang_新疆人的“lang”是“浪”吗?
  6. linux nexus启动_Linux一键部署Nexus 3私服仓库自动化部署脚本
  7. linux 无法找到函数定义,找到定义Linux函数的位置
  8. adc分辨率和精度的区别_科普 | 传感器的灵敏度、分辨率和精度三者之间有何区别?...
  9. java定义js函数_JS中可以先使用函数,然后再定义.
  10. MongoDB 数组类型查询 —— $elemMatch 操作符