Python进阶01 词典
作者: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 词典相关推荐
- 如果只推荐一本 Python 进阶的书,我要 Pick 它!
作者 | 豌豆花下猫 今年二月初,我偶然看到了一条推特: <流畅的Python>一书的作者发布了一条激动人心的消息:他正在写作第二版! 如果要票选最佳的 Python 进阶类书目,这本书肯 ...
- python进阶 多线程编程 —— threading和queue库实现多线程编程
python进阶 多线程编程 -- threading和queue库实现多线程编程) 摘要 多线程实现逻辑封装 模型参数选择实例 摘要 本文主要介绍了利用python的 threading和queue ...
- python进阶15变量作用域LEGB
原创博客链接:python进阶15变量作用域LEGB 作用域 "作用域"定义了Python在哪一个层次上查找某个"变量名"对应的对象.接下来的问题就是:&quo ...
- python进阶14文件路径(找不到文件)
原创链接:python进阶14文件路径(找不到文件) 开发时遇到问题,文件路径不正确,找不到文件等等,都是这一类问题. curdir,argv,file 举例: 文件1代码: 1 2 3 4 5 6 ...
- python进阶13并发之九多进程和数据共享
原创博客地址:python进阶13并发之九多进程和数据共享 使用进程,大概率出现情况是,想当然以为共享了,实际没共享.所以最终程序大概率卡死(部分逻辑没有数据进来,导致的业务逻辑性卡住,并非程序死锁) ...
- python进阶11并发之七多种并发方式的效率测试
原创博客地址:python进阶11并发之七多种并发方式的效率测试 测试map,apply_async,gevent协程爬虫 测试代码:网页爬虫 函数代码 1 2 3 4 5 6 7 8 9 10 11 ...
- 学习Python全套代码【超详细】Python入门、核心语法、数据结构、Python进阶【致那个想学好Python的你】
大家早上好,本人姓吴,如果觉得文章写得还行的话也可以叫我吴老师.欢迎大家跟我一起走进数据分析的世界,一起学习! 感兴趣的朋友可以关注我的数据分析专栏,里面有许多优质的文章跟大家分享哦. 文末附上详细的 ...
- 7.1.3 Python进阶 《函数》定义、调用,参数,返回值《面向对象》概念,类,实例,对象,属性,方法《模块、包》导入,自定义,常用内置:datatime,time,random,os,sys
目录 ======== 第四部分 Python进阶 ======== 第一节 函数 4.1.1 函数定义及调用 4.1.2 函数的参数 4.1.3 函数的返回值 第二节 面向对象 4.2.1 面向对象 ...
- Python进阶-正则表达式
Python进阶系列 Python进阶-网络编程-01 Python进阶-网络编程-02 Python进阶-网络编程-03 Python进阶-多任务编程-01 Python进阶-多任务编程-02 Py ...
最新文章
- 在等于操作中无法解决“SQL_Latin1_General_CP1_CI_AS”和“Latin1_General_CI_AS”之间的排序规则冲突
- python类型转换-Python的数据类型转换函数
- ie里的button标签的一个bug
- Linux 磁盘分区 Fdisk
- Embeded linux之移植boa
- java无效的源发行版_无效的Java
- android x86_64 服务器运行,魔趣 android10 编译x86-64 运行模拟器
- 利用python随机生成姓名的实例教程
- 十八般武艺玩转GaussDB(DWS)性能调优:Plan hint运用
- 应用性能调优分析与总结
- 苹果官网以旧换新价格暴跌;戴威退出 ofo 法人代表及高管;TensorFlow 2.1.0 发布| 极客头条...
- BZOJ 2442 [Usaco2011 Open]修剪草坪:单调队列优化dp
- .NET 正则验证邮箱
- linux c 字符串一部分,【Linux c】字符串的截取
- PaddlePaddle(1)——让人拍案叫绝的创意都是如何诞生的
- Android 音视频开发 视频编码,音频编码格式
- 《通信软件开发与应用》课程结业报告
- 添加metadata到tflite模型
- FZU 2219 StarCraft (哈夫曼树)
- ZCMU暑期训练四-G - Alex and a Rhombus
热门文章
- ROS学习--第3篇:ROS基础---创建工作空间和软件包
- A840S黑砖修复过程(2013-05-22修改)
- CENTOS6.3下zabbix安装部署
- 某国家正在测试“关闭互联网”方法
- Recurrent Neural Network系列2--利用Python,Theano实现RNN
- 关于C#泛型列表ListT的基本用法总结
- python 函数的参数
- Trunk Club:颠覆男士时装零售的创业公司_第1页_福布斯中文网
- robots.txt网站爬虫文件设置
- 再见BOBO,从此梅阿查再无国王!