2017-8-5 第6章 字典

本章概况:

1如何访问和修改字典中的信息。

2我们会演示如何遍历字典中的数据。

3存储字典的列表、 存储列表的字典和存储字典的字典。

4 理解字典后,还能够存储任意两种相关的信息, 如一系列单词及其含义, 一系列人名及其喜欢的数字, 以及一系列山脉及其海拔等

定义:

 字典 是一系列键—值对 。 

每个键 都与一个值相关联, 你可以使用键来访问与之相关联的值。 

与键相关联的可以是数字、 字符串、 列表乃至字典。任何Python对象用作字典中的值。

形式:

字典用放在花括号{}中的一系列键—值对表示。

键—值 对是两个相关联的值。

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

6.2.1访问字典中的值:

要获取与键相关联的值, 可依次指定字典名和放在方括号内的键。

alien_0 = {'color': 'green'}

print(alien_0['color'])

6.2.2添加键—值对

要添加键—值对, 可依次指定字典名、 用方括号括起的键和相关联的值。

alien_0['y_position'] = 25

6.2.3先创建一个空字典,添加键值对


2017-8-5 第6章 字典_第1张图片


6.2.4修改字典中的值


2017-8-5 第6章 字典_第2张图片
将外星人变成黄色


2017-8-5 第6章 字典_第3张图片

6.2.5删除键—值对


2017-8-5 第6章 字典_第4张图片
del 字典名['键']; 删除的键—值对永远消失

6.2.6由类似对象组成的字典

字典存储:

一个对象( 游戏中的一个外星人) 的多种信息VS众多对象的同一种信息


2017-8-5 第6章 字典_第5张图片


6.3遍历字典

6.3.1遍历所有的键—值对


2017-8-5 第6章 字典_第6张图片
遍历字典的for循环, 可声明两个变量, 用于存储键—值对中的键和值。这两个变量, 可使用任何名称,比如简写成 k,v,写成for k, v in user_0.items(), 也可以使用便于理解的代称

注意, 即便遍历字典时, 键—值对的返回顺序也与存储顺序不同。

Python不关心键—值对的存储顺序, 而只跟踪键和值之间的关联关系。

6.3.2遍历字典中的所有键

不需要使用字典中的值时, for 变量 in favorite_languages.keys():, 提取出所有的键.

遍历字典时, 会默认遍历所有的键,所以for 变量 in favorite_languages:, 结果不变.

6.3.3按顺序遍历字典中的所有键

要以特定的顺序返回元素, 一种办法是在for循环中对返回的键进行排序。 

可使用函数sorted()来获得按特定顺序排列的键列表的副本.


2017-8-5 第6章 字典_第7张图片
对dictionary.keys()的结果调用了函数sorted(), 让Python列出字典中的所有键, 并在遍历前对这个列表进行排序。

6.3.4遍历字典中的所有值

如果你感兴趣的主要是字典包含的值, 可使用方法values(); for语句提取字典中的每个值, 并将它们依次存储到变量language中。 通过打印这些值, 就获得了一个列表。

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


2017-8-5 第6章 字典_第8张图片

6.4嵌套

嵌套:将一系列字典存储在列表中, 或将列表作为值存储在字典中。

6.4.1

字典列表创建30个外星人,每个外星人是个字典,包含其全部信心。

流程:1 创建aliens空列表,用于存储要创建的外星人; 2使用range(),每循环一次创建一个外星人,并将其附加到列表aliens末尾; 3 修改前三个外星人的特征; 4显示前5个外星人


2017-8-5 第6章 字典_第9张图片

6.4.2在字典中存储列表

每当需要在字典中将一个键关联到多个值时, 都可以在字典中嵌套一个列表。


2017-8-5 第6章 字典_第10张图片
一个键关联到多个值时, 都可以在字典中嵌套一个列表

注意: 列表和字典的嵌套层级不应太多。 如果嵌套层级比前面的示例多得多, 很可能有更简单的解决问题的方案。

6.4.3在字典中存储字典

2017-8-5 第6章 字典_第11张图片

表示每位用户的字典的结构都相同, 这使得嵌套的字典处理起来更容易。

作业


2017-8-5 第6章 字典_第12张图片
2017-8-5 第6章 字典_第13张图片

你可能感兴趣的:(2017-8-5 第6章 字典)