《Python编程:从入门到实践》笔记 第六章 字典

2019-04-22  本文已影响0人  gg大宇

条件测试

每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试。
python中检查是否相等时 区分大小写。
!=判断两个值是否不等。
检查多个条件用and连接 检查是否两个条件都位True。如果每个测试都通过了,整个表达式就为True
检查多个条件用or连接 至少有一个条件满足,就能通过整个测试。
检查特定值是否包含在列表中,用in


image.png

检查特定值是否不包含在列表中:not in
最简单的if语句:
if conditional_test:
do something

字典

字典是一系列键值对,每个键都与一个值相关联,可以使用键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表和字典。可将任何python对象用作字典中的值。
字典放在花括号{ } 中的一系列键值对表示。如:
alien_0={'color':'green','points':5}
键—值 对是两个相关联的值。指定键时,python将返回与之相关联的值。键和值之间用冒号分隔,而键—值对之间用逗号分隔,在字典中,存储多少个键值对都可以。
最简单的字典只有一个键—值对,如下:
alien_0={"color":'green'}

添加键值对

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


image.png
修改字典中的值

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


image.png
删除键——值对

del语句可以将相应的键值对彻底删除。必须要指定字典名和要删除的键。

由类似对象组成的字典

可以使用字典来存储众多对象的同一种信息。
例如,假设你要调查很多人,询问他们最喜欢的编程语言,可使用一个字典来存储这种简单调查的结果。

遍历字典

遍历所有的键值对:
例如下图,可以利用一个for循环来遍历这个字典,获悉这个用户字典中的所有信息:


image.png

for语句的第一部分是声明两个变量,用于存储键值对中的键和值,对于这两个变量,可使用任何名称,for语句的第二部分包含字典名和方法items() 它返回一个键值对列表。

遍历字典时,键值对的返回顺序会与存储顺序不同,Python不关心键值对的存储顺序,而只跟踪键和值的关联关系
keys()方法

遍历字典中的所有键


image.png

遍历字典时,python是默认遍历所有键的,所以即使不加keys()方法,输出的也是这个


image.png

方法keys()并非只能用于遍历,实际上,它返回一个列表,其中包含字典中的所有键。

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

字典总是明确地记录键和值之间的关联关系,但获取字典的元素时,获取顺序是不可预测的。要以特定的顺序返回元素,一种办法是在for循环中对返回的键进行排序,为此,可使用函数sorted()来获得按特定顺序排序的键列表的副本
调用了函数sorted():


image.png
遍历字典中的所有值

可以使用方法values(),它返回一个值列表,而不包含任何键。

image.png

这种做法提取字典中所有的值,而没有考虑是否重复,如果想删除重复项,可使用集合(set)
集合(set) 类似于列表,但每个元素都必须是独一无二的:

image.png

嵌套

将一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套
可以在列表中嵌套字典、在字典中嵌套列表甚至在字典中嵌套字典。

字典列表

如下:


image.png
在字典中存储列表

有时候需要将列表存储在字典中,而不是将字典存储在列表中。
例如:如何描述顾客点的比萨呢?如果使用列表,只能存储要添加的比萨配料,如果使用字典,就不仅可在其中包含配料列表,还可包含其他有关比萨的描述。
比如下面的实例中存储了比萨的两方面信息:外皮类型和配料列表。其中的配料列表是一个与键“toppings”相关联的值,要访问该列表,我们使用字典名和键‘toppings’。这将返回的是一个列表,而不是单个的值:


image.png
在字典中存储字典

例如:有多个网站用户,每个都有独特的用户名,可在字典中将用户名作为键,然后将每位用户的信息存储在一个字典中,并将该字典作为与用户名相关联的值。在下面的程序中,对于每位用户,我们都存储了其三项信息,名、姓和居住地;为访问这些信息,我们遍历所有的用户名,并访问与每个用户名相关联的信息字典:


image.png
上一篇下一篇

猜你喜欢

热点阅读