作者: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 进阶的书,我要 Pick 它!

    作者 | 豌豆花下猫 今年二月初,我偶然看到了一条推特: <流畅的Python>一书的作者发布了一条激动人心的消息:他正在写作第二版! 如果要票选最佳的 Python 进阶类书目,这本书肯 ...

  2. python进阶 多线程编程 —— threading和queue库实现多线程编程

    python进阶 多线程编程 -- threading和queue库实现多线程编程) 摘要 多线程实现逻辑封装 模型参数选择实例 摘要 本文主要介绍了利用python的 threading和queue ...

  3. python进阶15变量作用域LEGB

    原创博客链接:python进阶15变量作用域LEGB 作用域 "作用域"定义了Python在哪一个层次上查找某个"变量名"对应的对象.接下来的问题就是:&quo ...

  4. python进阶14文件路径(找不到文件)

    原创链接:python进阶14文件路径(找不到文件) 开发时遇到问题,文件路径不正确,找不到文件等等,都是这一类问题. curdir,argv,file 举例: 文件1代码: 1 2 3 4 5 6 ...

  5. python进阶13并发之九多进程和数据共享

    原创博客地址:python进阶13并发之九多进程和数据共享 使用进程,大概率出现情况是,想当然以为共享了,实际没共享.所以最终程序大概率卡死(部分逻辑没有数据进来,导致的业务逻辑性卡住,并非程序死锁) ...

  6. python进阶11并发之七多种并发方式的效率测试

    原创博客地址:python进阶11并发之七多种并发方式的效率测试 测试map,apply_async,gevent协程爬虫 测试代码:网页爬虫 函数代码 1 2 3 4 5 6 7 8 9 10 11 ...

  7. 学习Python全套代码【超详细】Python入门、核心语法、数据结构、Python进阶【致那个想学好Python的你】

    大家早上好,本人姓吴,如果觉得文章写得还行的话也可以叫我吴老师.欢迎大家跟我一起走进数据分析的世界,一起学习! 感兴趣的朋友可以关注我的数据分析专栏,里面有许多优质的文章跟大家分享哦. 文末附上详细的 ...

  8. 7.1.3 Python进阶 《函数》定义、调用,参数,返回值《面向对象》概念,类,实例,对象,属性,方法《模块、包》导入,自定义,常用内置:datatime,time,random,os,sys

    目录 ======== 第四部分 Python进阶 ======== 第一节 函数 4.1.1 函数定义及调用 4.1.2 函数的参数 4.1.3 函数的返回值 第二节 面向对象 4.2.1 面向对象 ...

  9. Python进阶-正则表达式

    Python进阶系列 Python进阶-网络编程-01 Python进阶-网络编程-02 Python进阶-网络编程-03 Python进阶-多任务编程-01 Python进阶-多任务编程-02 Py ...

最新文章

  1. 在等于操作中无法解决“SQL_Latin1_General_CP1_CI_AS”和“Latin1_General_CI_AS”之间的排序规则冲突
  2. python类型转换-Python的数据类型转换函数
  3. ie里的button标签的一个bug
  4. Linux 磁盘分区 Fdisk
  5. Embeded linux之移植boa
  6. java无效的源发行版_无效的Java
  7. android x86_64 服务器运行,魔趣 android10 编译x86-64 运行模拟器
  8. 利用python随机生成姓名的实例教程
  9. 十八般武艺玩转GaussDB(DWS)性能调优:Plan hint运用
  10. 应用性能调优分析与总结
  11. 苹果官网以旧换新价格暴跌;戴威退出 ofo 法人代表及高管;TensorFlow 2.1.0 发布| 极客头条...
  12. BZOJ 2442 [Usaco2011 Open]修剪草坪:单调队列优化dp
  13. .NET 正则验证邮箱
  14. linux c 字符串一部分,【Linux c】字符串的截取
  15. PaddlePaddle(1)——让人拍案叫绝的创意都是如何诞生的
  16. Android 音视频开发 视频编码,音频编码格式
  17. 《通信软件开发与应用》课程结业报告
  18. 添加metadata到tflite模型
  19. FZU 2219 StarCraft (哈夫曼树)
  20. ZCMU暑期训练四-G - Alex and a Rhombus

热门文章

  1. ROS学习--第3篇:ROS基础---创建工作空间和软件包
  2. A840S黑砖修复过程(2013-05-22修改)
  3. CENTOS6.3下zabbix安装部署
  4. 某国家正在测试“关闭互联网”方法
  5. Recurrent Neural Network系列2--利用Python,Theano实现RNN
  6. 关于C#泛型列表ListT的基本用法总结
  7. python 函数的参数
  8. Trunk Club:颠覆男士时装零售的创业公司_第1页_福布斯中文网
  9. robots.txt网站爬虫文件设置
  10. 再见BOBO,从此梅阿查再无国王!