【Python】字典~深入篇
字典的定义
字典是一系列键值对,字典用放在{}一系列键值对表示
info = {'first_name':'YueShang','last_name':'QIN','age':'25','city':'KunMing'}
字典增、删、改、查
增加新元素
指定字典名,用方括号括起来的键和相关的值
info['sex']='Man'
修改元素
指定字典名,用方括号括起来的键以及该键相关联的新值
info['sex']='Woman'
查询
指定字典名和放在括号中的键
print(info['sex'])
在实际使用过程中,可能一个字典包含成千上万的键值对,那么需要使用遍历才能完全访问键值
遍历所有的键值对items()
for key,value in info.items():
print("\nkey:" + key)
print("\nvalue:" + value)
遍历所有键
for key in info.keys():
print(key)
遍历所有值
for value in info.values():
print(value)
注意:在遍历的时候,如果需要对遍历的键进行排序,那么使用sorted()即可。值也一样
set()方法的使用:set()方法可以对元素去重复
set()案例
letter = {'1':'A','2':'B','3':'C','4':'A'}
for i in set(letter.values()):
print(i)
打印结果为:C A B
删除
使用del语句删除相应的键值对即可
del info['sex']
删除的键值对永远消失了
嵌套
有时候,需要将一系列字典存储在列表中,或将列表存储在字典中,这称为嵌套。
在列表中存储字典
现在有三个国家的运动员,用一个列表来存储各个国家运动员的信息
America_Player = {'name':'Tom','age':24}
China_Player = {'name':'zhangsan','age':27}
Japan_Player = {'name':'Jinshang','age':25}
players = [America_Player,China_Player,Japan_Player]
for palyer in players:
print(palyer)
在字典中嵌套列表
现在有2个人,分别有自己喜欢的水果列表,我们需要把这些信息全部存储起来,那么使用字典,其中元素为列表即可。
favorite_fruits = {
'zhangsan':['apple','pear'],
'lisi':['orange','apple']
}
for name,fruits in favorite_fruits.items():
print("\n"+name.title()+"'s favorite fruits are:")
for fruit in fruits:
print("\n"+fruit.title())
在字典中嵌套字典
以下是2个网站,分别对应不同的用户名,把字典存储到字典中即可满足这个需求
users = {
'website1':{
'name':'zhangsan',
'password':'123'
},
'website2': {
'name': 'lisi',
'password': '456'
}
}
for Website,LoginInfo in users.items():
print("\nWebsite:"+Website)
print("\tUsername:"+LoginInfo['name'])
print("\tPassword:" + LoginInfo['password'])
【Python】字典~深入篇的更多相关文章
- python 字典dict和列表list的读取速度问题, range合并
python 字典和列表的读取速度问题 最近在进行基因组数据处理的时候,需要读取较大数据(2.7G)存入字典中,然后对被处理数据进行字典key值的匹配,在被处理文件中每次读取一行进行处理后查找是否在字 ...
- Python+Selenium练习篇之1-摘取网页上全部邮箱
前面已经介绍了Python+Selenium基础篇,通过前面几篇文章的介绍和练习,Selenium+Python的webUI自动化测试算是入门了.接下来,我计划写第二个系列:练习篇,通过一些练习,了解 ...
- python字典改变value值方法总结
今天这篇文章中我们来了解一下python之中的字典,在这文章之中我会对python字典修改进行说明,以及举例说明如何修改python字典内的值.我们开始进入文章吧. 首先我们得知道什么是修改字典 修改 ...
- Python字典实现
这篇文章描述了在Python中字典是如何实现的. 字典通过键(key)来索引,它可以被看做是关联数组.我们在一个字典中添加3个键/值对: >>> d = {'a': 1, 'b': ...
- 《python开发技术详解》|百度网盘免费下载|Python开发入门篇
<python开发技术详解>|百度网盘免费下载|Python开发入门篇 提取码:2sby 内容简介 Python是目前最流行的动态脚本语言之一.本书共27章,由浅入深.全面系统地介绍了利 ...
- 自己动手实现 HashMap(Python字典),彻底系统的学习哈希表(上篇)——不看血亏!!!
HashMap(Python字典)设计原理与实现(上篇)--哈希表的原理 在此前的四篇长文当中我们已经实现了我们自己的ArrayList和LinkedList,并且分析了ArrayList和Linke ...
- Python字典和集合
Python字典操作与遍历: 1.http://www.cnblogs.com/rubylouvre/archive/2011/06/19/2084739.html 2.http://5iqiong. ...
- python 字典排序 关于sort()、reversed()、sorted()
一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a ...
- python字典中的元素类型
python字典默认的是string item={"browser " : 'webdriver.irefox()', 'url' : 'http://xxx.com'} 如果这样 ...
- python字典copy()方法
python 字典的copy()方法表面看就是深copy啊,明显独立 d = {'a':1, 'b':2} c = d.copy() print('d=%s c=%s' % (d, c)) Code1 ...
随机推荐
- node.js express 4.x 安装指南(Express不是内部或外部命令解决方案)
前几天express 推出了4.0,得知这个消息,自己尝试了一下,突然发现用以前的文档上的操作出现了各种问题.结果只能去看文档,现在在这个给大家分享下4.0版本的安装. 先说下如果需要用express ...
- C/C++注释规范
C/C++注释规范 Doxygen是一种开源跨平台的,以类似JavaDoc风格描述的文档系统,完全支持C.C++.Java.Objective-C和IDL语言,部分支持PHP.C#.鉴于Doxygen ...
- 笔记 docker入门笔记
安装sudo apt-get remove docker docker-engine docker-ce docker.iosudo apt-get updatesudo apt-get instal ...
- 人类基因(human)
题目描述 上了大学之后,小W和小Z一起报了一门三宝课,在实践课上遇到了一些问题. 一条染色体上有nn对基因,每种基因都可以用一个数ai来表示,作为标号. 现在,在其中一条染色单体上某基因发生了突变. ...
- MAC电脑安装Mysql服务器和Navicat for mysql客户端
1.下载链接 Navicat for mysql客户端 链接: https://pan.baidu.com/s/1dGbzgbR 密码: i43g Mysql服务器 链接: https://pan.b ...
- Extension Methods "点"函数方法 扩展方法
原文发布时间为:2011-03-25 -- 来源于本人的百度文章 [由搬家工具导入] http://msdn.microsoft.com/en-us/library/bb383977.aspx 条件: ...
- .net开发工具集合
原文发布时间为:2010-10-24 -- 来源于本人的百度文章 [由搬家工具导入] 原文出处:.NET Tools:Ten Must-Have Tools Every Developer Shoul ...
- mariadb 集群使用
集群启动问题 在kvm虚机下,启动mariad,日志报如下错误: :: [Note] /usr/libexec/mysqld: Shutdown complete :: mysqld_safe mys ...
- react native windows create bundle folder
生成bundle 文件 命令 react-native bundle --platform android --dev false --entry-file index.js --bundle-out ...
- HDU 1024 Max Sum Plus Plus [动态规划+m子段和的最大值]
Max Sum Plus Plus Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tot ...