python进阶教程之词典、字典、dict


Posted in Python onAugust 29, 2014

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

进阶教程对基础教程的进一步拓展,说明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 相关文章推荐
python 字符串split的用法分享
Mar 23 Python
Python中多线程thread与threading的实现方法
Aug 18 Python
Flask-Mail用法实例分析
Jul 21 Python
Python运维自动化之nginx配置文件对比操作示例
Aug 29 Python
在matplotlib的图中设置中文标签的方法
Dec 13 Python
Python变量访问权限控制详解
Jun 29 Python
python将字符串list写入excel和txt的实例
Jul 20 Python
详解Anconda环境下载python包的教程(图形界面+命令行+pycharm安装)
Nov 11 Python
python进程池实现的多进程文件夹copy器完整示例
Nov 27 Python
pytorch之ImageFolder使用详解
Jan 06 Python
tensorflow使用CNN分析mnist手写体数字数据集
Jun 17 Python
Django解决frame拒绝问题的方法
Dec 18 Python
python字符串排序方法
Aug 29 #Python
python基础教程之对象和类的实际运用
Aug 29 #Python
python基础教程之面向对象的一些概念
Aug 29 #Python
初学Python实用技巧两则
Aug 29 #Python
python基础教程之自定义函数介绍
Aug 29 #Python
python爬虫常用的模块分析
Aug 29 #Python
python基础教程之循环介绍
Aug 29 #Python
You might like
建立动态的WML站点(一)
2006/10/09 PHP
php安全配置 如何配置使其更安全
2011/12/16 PHP
ubuntu下编译安装xcache for php5.3 的具体操作步骤
2013/06/18 PHP
php的dl函数用法实例
2014/11/06 PHP
IE8 浏览器Cookie的处理
2009/01/31 Javascript
jquery插件开发方法(初学者)
2012/02/03 Javascript
JavaScript中的style.display属性操作
2013/03/27 Javascript
js图片翻书效果代码分享
2015/08/20 Javascript
jQuery实现图片局部放大镜效果
2016/03/17 Javascript
JS中frameset框架弹出层实例代码
2016/04/01 Javascript
JS实现消息来时让网页标题闪动效果的方法
2016/04/20 Javascript
Bootstrap基本组件学习笔记之进度条(15)
2016/12/08 Javascript
详解JS中的快速排序与冒泡
2017/01/10 Javascript
Angular中自定义Debounce Click指令防止重复点击
2017/07/26 Javascript
JavaScript创建对象的常用方式总结
2018/08/10 Javascript
Node.js模拟发起http请求从异步转同步的5种用法
2018/09/26 Javascript
详解VUE单页应用骨架屏方案
2019/01/17 Javascript
详解vue-cli中使用rem,vue自适应
2019/05/06 Javascript
Echarts在Taro微信小程序开发中的踩坑记录
2020/11/09 Javascript
[02:48]DOTA2超级联赛专访海涛:你们的选择没有错
2013/06/07 DOTA
[45:25]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.22
2019/09/05 DOTA
Python多进程编程技术实例分析
2014/09/16 Python
Python实现保证只能运行一个脚本实例
2015/06/24 Python
pygame实现俄罗斯方块游戏
2018/06/26 Python
python用列表生成式写嵌套循环的方法
2018/11/08 Python
Python微信操控itchat的方法
2019/05/31 Python
Python 线程池用法简单示例
2019/10/02 Python
Python 在 VSCode 中使用 IPython Kernel 的方法详解
2020/09/05 Python
python使用requests库爬取拉勾网招聘信息的实现
2020/11/20 Python
CSS3教程:新增加的结构伪类
2009/04/02 HTML / CSS
使用canvas绘制贝塞尔曲线
2014/12/17 HTML / CSS
linux面试题参考答案(9)
2015/01/07 面试题
大学四年职业生涯规划书范文
2014/01/02 职场文书
个人求职信范例
2014/01/29 职场文书
爱心助学感谢信
2015/01/21 职场文书
一文读懂navicat for mysql基础知识
2021/05/31 MySQL