作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!

基础教程介绍了基本概念,特别是对象和类。

进阶教程对基础教程的进一步拓展,说明Python的细节。希望在进阶教程之后,你对Python有一个更全面的认识。

之前我们说了,列表是Python里的一个类。一个特定的表,比如说nl = [1,3,8],就是这个类的一个对象。我们可以调用这个对象的一些方法,比如 nl.append(15)。
我们要介绍一个新的类,词典 (dictionary)。与列表相似,词典也可以储存多个元素。这种储存多个元素的对象称为容器(container)。

基本概念

常见的创建词典的方法:

>>>dic = {'tom':11, 'sam':57,'lily':100}

>>>print type(dic)

词典和表类似的地方,是包含有多个元素,每个元素以逗号分隔。但词典的元素包含有两部分,键和值,常见的是以字符串来表示键,也可以使用数字或者真值来表示键(不可变的对象可以作为键)。值可以是任意对象。键和值两者一一对应。

比如上面的例子中,‘tom’对应11,'sam对应57,'lily'对应100

与表不同的是,词典的元素没有顺序。你不能通过下标引用元素。词典是通过键来引用。

>>>print dic['tom']

>>>dic['tom'] = 30

>>>print dic

构建一个新的空的词典:

>>>dic = {}

>>>print dic

在词典中增添一个新元素的方法:

>>>dic['lilei'] = 99

>>>print dic

这里,我们引用一个新的键,并赋予它对应的值。

词典元素的循环调用

dic = {'lilei': 90, 'lily': 100, 'sam': 57, 'tom': 90}
for key in dic:
print dic[key]

在循环中,dict的每个键,被提取出来,赋予给key变量。

通过print的结果,我们可以再次确认,dic中的元素是没有顺序的。

词典的常用方法

>>>print dic.keys()           # 返回dic所有的键

>>>print dic.values()         # 返回dic所有的值

>>>print dic.items()          # 返回dic所有的元素(键值对)

>>>dic.clear()                # 清空dic,dict变为{}

另外有一个很常用的用法:

>>>del dic['tom']             # 删除 dic 的‘tom’元素

del是Python中保留的关键字,用于删除对象。

与表类似,你可以用len()查询词典中的元素总数。

>>>print(len(dic))

总结

词典的每个元素是键值对。元素没有顺序。

dic = {'tom':11, 'sam':57,'lily':100}

dic['tom'] = 99

for key in dic: ...

del, len()

Python进阶01 词典的更多相关文章

  1. python进阶01 面向对象、类、实例、属性封装、实例方法

    python进阶01 面向对象.类.实例.属性封装.实例方法 一.面向对象 1.什么是对象 #一切皆对象,可以简单地将“对象”理解为“某个东西” #“对象”之所以称之为对象,是因为它具有属于它自己的“ ...

  2. python进阶01

    基础部分python学完,咱们可以深入了解下python高阶知识点,让我们一起来学习吧! 1.面向对象进阶 1)元类 1.1.1:python创建类原理 python创建类: class Object ...

  3. Python进阶量化交易场外篇4——寻找最优化策略参数

    新年伊始,很荣幸笔者的<教你用 Python 进阶量化交易>专栏在慕课专栏板块上线了,欢迎大家订阅!为了能够提供给大家更轻松的学习过程,笔者在专栏内容之外会陆续推出一些手记来辅助同学们学习 ...

  4. Python进阶----反射(四个方法),函数vs方法(模块types 与 instance()方法校验 ),双下方法的研究

    Python进阶----反射(四个方法),函数vs方法(模块types 与 instance()方法校验 ),双下方法的研究 一丶反射 什么是反射: ​ 反射的概念是由Smith在1982年首次提出的 ...

  5. Python学习--01入门

    Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...

  6. SQL Server 进阶 01 数据库的设计

    SQL Server 进阶 01 数据库的设计 本篇目录 课程内容回顾及介绍 为什么需要规范的数据库设计 设计数据库的步骤 绘制E-R(实体-关系)图 实体-关系模型 如何将E-R图转换为表 数据规范 ...

  7. Python进阶:函数式编程实例(附代码)

    Python进阶:函数式编程实例(附代码) 上篇文章"几个小例子告诉你, 一行Python代码能干哪些事 -- 知乎专栏"中用到了一些列表解析.生成器.map.filter.lam ...

  8. Python网络01 原始Python服务器

    原文:Python网络01 原始Python服务器 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 之前我的Python教程中有人 ...

  9. Python进阶 - 对象,名字以及绑定

    Python进阶 - 对象,名字以及绑定 1.一切皆对象 Python哲学: Python中一切皆对象 1.1 数据模型-对象,值以及类型 对象是Python对数据的抽象.Python程序中所有的数据 ...

随机推荐

  1. 20150826运算符,if语句

    运算符+ - * / % 加减乘除与注意:1.做除法运算时,如果两个操作数同为整数,则运算结果也是整数,不会出现小数.2.上面这些运算,如果两个操作数不同是一个类型,在运算的时候会自动进行类型转换. ...

  2. mov视频转gif

    在mac上用quicktime录屏,得到一个mov视频,想转成gif,试了几个工具,感觉下面这个最好用: http://ezgif.com/video-to-gif 支持重新指定尺寸和帧率,转完gif ...

  3. Oracle中replace函数的使用

    例: select filefullname from sys_frmattachmentdb 查询的结果为: e:\GengBaoFile\TYGW\<历城区项目立项审批流程>.1079 ...

  4. java中的分支

    条件语句:     if-else选择结构:         if(条件块){             代码块1         }else{             代码块2         }   ...

  5. java 金额计算,商业计算 double不精确问题 BigDecimal,Double保留两位小数方法

    解决办法================== http://blog.javaxxz.com/?p=763 一提到Java里面的商业计算,我们都知道不能用float和double,因为他们无法 进行精 ...

  6. 根据N种规格中的M种规格值生成的全部规格组合的一种算法

    近来在开发SKU模块的时候,遇到这样一个需求,某种商品有N(用未知数N来表示是因为规格的数组由用户制定且随时可以编辑的,所以对程序来说,它是一个未知数)类规格,每一类规格又有M个规格值,各种规格值的组 ...

  7. eclipse color themes 让eclipse编码好看点

    http://eclipsecolorthemes.org/ 就是这个,很好用的! 安装后需要重启Eclipse.重启后打开Window->Preferences->General-> ...

  8. android 各国语言对应的缩写

    android资源文件夹的写法规则: 语言缩写-国家地区缩写 语言缩写 藏语:bo_CN en 英文 en_US 英文 (美国) ar 阿拉伯文 ar_AE 阿拉伯文 (阿拉伯联合酋长国) ar_BH ...

  9. 如何在ExtJS 6中使用Fashion美化应用程序

    在Ext JS 6,一个最大的改变就是框架合并,使用一个单一的代码库,就可以为每一种设备开发各具有良好体验的最好应用程序.它还带来了一种美化应用程序的新方式. 在本文,重点是Sencha Fashio ...

  10. linux 解压,源码包

    从网络上下载到的源码包, 最常见的是 .tar.gz 包, 还有一部分是 .tar.bz2包   要解压很简单 :   .tar.gz     格式解压为          tar   -zxvf   ...