6.1 一个简单的字典

alien.pyalien_0 = {'color': 'green', 'points': 5}
print(alien_0['color'])
print(alien_0['points'])

字典alien_0存储了外星人的颜色和点数。使用两条print语句来访问并打印这些信息,如下所示:

green
5

6.2 使用字典
在Python中, 字典是一系列键—值对。每个键都与一个值相关联,你可以使用键来访问与之
相关联的值
。与键相关联的值可以是数字、字符串、列表乃至字典。事实上,可将任何Python对
象用作字典中的值。
在Python中,字典用放在花括号{}中的一系列键—值对表示.

键—值对是两个相关联的值。指定键时, Python将返回与之相关联的值。键和值之间用冒号
分隔,而键—值对之间用逗号分隔。
在字典中,你想存储多少个键—值对都可以。

6.2.1 访问字典中的值
要获取与键相关联的值,可依次指定字典名和放在方括号内的键,如下所示:

6.2.2 添加键—值对
字典是一种动态结构,可随时在其中添加键—值对。要添加键—值对,可依次指定字典名、用
方括号括起的键和相关联的值。

打印修改后的字典时,将看到这两个新增的键—值对:

6.2.3 先创建一个空字典 可先使用一对空的花括号定义一个字典,再分行添加各个键—值对。例如,下例演示了如何以这种方式创建字典alien_0:

使用字典来存储用户提供的数据或在编写能自动生成大量键—值对的代码时,通常都需要先
定义一个空字典。

6.2.4 修改字典中的值 要修改字典中的值,可依次指定字典名、用方括号括起的键以及与该键相关联的新值。

6.2.5 删除键— 值对
对于字典中不再需要的信息,可使用del语句将相应的键—值对彻底删除。使用del语句时,
必须指定字典名和要删除的键。
例如,下面的代码从字典alien_0中删除键'points'及其值:

输出表明,键'points'及其值5已从字典中删除,但其他键—值对未受影响:

删除的键—值对永远消失了

6.3 遍历字典
字典可用于以各种方式存储信息,因此有多种遍历字典的
方式:可遍历字典的所有键—值对、键或值。
6.3.1 遍历所有的键— 值对
可以使用一个for循环来遍历这个字典:

第一条print语句中的""确保在输出每个键—值对前都插入一个空行 :

即便遍历字典时,键—值对的返回顺序也与存储顺序不同。 Python不关心键—值对的存
储顺序,而只跟踪键和值之间的关联关系。

6.3.2 遍历字典中的所有键 在不需要使用字典中的值时,方法keys()很有用。

输出列出了每个被调查者的名字:

遍历字典时,会默认遍历所有的键,因此,如果将上述代码中的for name in favorite_
languages.keys():替换为for name in favorite_languages:,输出将不变。
6.3.3 按顺序遍历字典中的所有键
可使用函数sorted()来获得按特定顺序排列的键列表的副本:

6.3.4 遍历字典中的所有值
感兴趣的主要是字典包含的值,可使用方法values(),它返回一个值列表,而不包含任何键。
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}

print("The following languages have been mentioned:")
for language in favorite_languages.values():
print(language.title())
输出如下:

为剔除重复项,可使用集合( set)。集合类似于列表,但每个元素都必须是独一无二的:

6.4 嵌套 有时候,需要将一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套。你
可以在列表中嵌套字典、在字典中嵌套列表甚至在字典中嵌套字典。

6.4.1 字典列表

遍历字典_Python编程从入门到实践-连载5(字 典)相关推荐

  1. python显示小数点后几位数_Python编程从入门到实践-连载1(变量和简单数据类型)...

    第二章 变量和简单数据类型 2.2.0 变量 我们添加了一个名为message的变量.每个变量都存储了一个值--与变量相关联的信息.在这里,存储的值为文本"Hello Python worl ...

  2. python从入门到实践_Python编程从入门到实践日记Day32

    Python编程从入门到实践日记Day32 第7章 函数(八) 1.传递任意数量的实参 - 使用任意数量的关键字实参 有时候,需要接受任意数量的实参,但预先不知道传递给函数的会是什么样的信息.在这种情 ...

  3. python 从入门到实践_Python编程从入门到实践日记Day15

    Python编程从入门到实践日记Day15 第5章 字典(三) 1.使用字典(三) -由类似对象组成的字典 在前面的示例中,字典存储的是一个对象(游戏中的一个外星人)的多种信息,但你也可以使用字典来存 ...

  4. python tk combobox设置值为空_Python编程从入门到实践日记Day24

    Python编程从入门到实践日记Day24 第6章 用户输入和while循环(五) 1. 使用while循环来处理列表和字典(二) - 删除包含特定值的所有列表元素 在之前我们学过可以使用函数remo ...

  5. python编程从入门到实践第八章_Python编程从入门到实践的第三天

    #-*- coding = utf-8 -*- #今天是12月24号了,天气阴,不是太好,这是我看Python编程从入门到实践的第三天,现在是上午,我是皮卡丘,这是我敲的第八章的代码 #第八章练习题1 ...

  6. python编程入门电脑推荐_Python编程从入门到实践

    Python编程从入门到实践 作者:[美]埃里克·马瑟斯(EricMatthes)著,袁国忠译 ISBN:9787115428028 出版社:人民邮电出版社 出版日期:2016-07-01 正文语种: ...

  7. python从入门到实践学习笔记_Python编程从入门到实践:学习笔记1(第二章)

    开通博客我用的理由是:读书学习时记笔记,一方面为了回顾,一方面为了督促自己.fighting! 学习Python,我买了Python编程从入门到实践. 我将从第二章开始记录我认为我以后会忘记以及重要的 ...

  8. python编程入门到实践笔记习题_Python编程从入门到实践笔记——列表简介

    python编程从入门到实践笔记--列表简介 #coding=utf-8 #列表--我的理解等于c语言和java中的数组 bicycles = ["trek","cann ...

  9. python入门到实践试题及答案_python编程:入门到实践练习答案

    [实例简介] 书本<python编程:入门到实践>的课后练习答案 [实例截图] [核心代码] 练习答案 ├── Solutions - Chapter 10.docx ├── Soluti ...

最新文章

  1. 异步请求之XMLHttpRequest篇
  2. 【numpy学习笔记】矩阵操作
  3. Java8 - 使用工厂方法 supplyAsync创建 CompletableFuture
  4. 安装ORACLE RAC时,用到的一些小命令1.弹出CD,2:配置时间同步,3.查看磁盘信息UUID
  5. 【Java】求解N皇后问题
  6. 华科网络内容管理系统 v5.6 手机 PC
  7. .NET Core RSA 签名和验签(密钥为 16 进制编码)
  8. java连接数据库 oracle,Oracle数据库之一分钟教你学会用java连接Oracle数据库
  9. mysql 备库同步_MYSQL主从库同步配置过程
  10. 将数据追加到html 表格中,【HTML】使用Jquery实现将输入数据添加至表格中
  11. keil-5.25Pro自带jlink驱动调试时自动掉线问题
  12. qmc转码_QQ音乐qmc3格式转换器免费版
  13. 国外15种手机游戏引擎和开发工具介绍
  14. 最强蜗牛服务器维护祷告什么时候领取都一样,最强蜗牛猴子祷告奖励什么时候领...
  15. opencore 引导 近完美 黑苹果EFI(技嘉H310/I5-9400F/RX560D)
  16. 图片文件,图片文件流和BASE64加密字符串之间的转换,以及图片的BASE64加密字符串再jsp上如何显示
  17. mini2440 -- TFTP方式下载u-boot
  18. puzzle(105)幻方、幻圆、拉丁方
  19. 关于SQL Server numeric数据类型介绍
  20. python快速开发app_python 使用Airtest超快速开发App爬虫

热门文章

  1. mysql命令行导入dmp文件,oracle的备份文件(dmp)导入mysql数据库方法
  2. Spring框架最终注解标签注入方法
  3. linux link path walk,python之os.walk()与os.path.walk()
  4. 乳化液稳定剂php,乳化液稳定剂PHP对小于0.1mm煤泥浮选的影响
  5. esp8266 扫描wifi_wifi气象站
  6. 查询oracle数据库错误修改了,【案例】Oracle报错ora-00600[2662] 修改控制文件scn推进数据库scn...
  7. java输入其他字符提示_Eclipse输入任意字母或指定字符出现提示框
  8. go语言--goroutine
  9. redis之django-redis
  10. Two Bases CodeForces - 602A (BigInteger c++long long也可以)