一个人的口味要宽一点、杂一点,

“南甜北咸东辣西酸”,

都去尝尝。

——汪曾祺





1


一种生成列表的简洁方法——列表推导式。

应用程序通常会从一个序列的每个元素的操作结果生成新的列表,或者生成满足特定条件的元素的子序列。

如果有数学基础,可以很明显的看出来有点类似一个复合函数,g(list2)=g(f(list1)).


列表推导式的结构:“[表达式 for 变量 in range() 条件语句] ”


例如,假设我们想要创建一个列表 squares(平方):

Python官方文档练习—初入江湖(3)_应用程序


再看一个例子,用列表推导式输出满足条件的坐标:


Python官方文档练习—初入江湖(3)_应用程序_02


需要注意的是:要处理两个表达式或者是两个变量(专业术语是元组形式)一定要用括号括起来。

Python官方文档练习—初入江湖(3)_python_03


表达式可以是一个列表推导式。

Python官方文档练习—初入江湖(3)_python_04



2


del语句——可以从列表中根据索引而不是值来直接删除一个元素。

而上一期中介绍的 pop()方法则会先返回再删除,我猜你们懒得回忆:

Python官方文档练习—初入江湖(3)_赋值_05


下面是 del:

Python官方文档练习—初入江湖(3)_python_06


del用索引的话,好处在于可以删除一段数(切片),而不像pop,只能一个一个排队,一个一个出队。如下,看例子:

Python官方文档练习—初入江湖(3)_条件语句_07



3


元组是由逗号分割开的若干值,如下面的 t:

Python官方文档练习—初入江湖(3)_应用程序_08


元组输出的总是带着括号的,输入时如果没有混淆的情况下是不需要带的。

例如下面的 u 就必须带括号:

Python官方文档练习—初入江湖(3)_条件语句_09


元组的值是不能修改的:

Python官方文档练习—初入江湖(3)_应用程序_10

[这里的错误提示:

“ 类型错误:‘元组’对象不支持单个元素赋值 ”]


但是可以通过以下这种方式读取元组中每个元素的值(数量要和元素数相符):

Python官方文档练习—初入江湖(3)_元组_11



4


集合(set)

集合这一概念貌似是初中数学就接触到了,具有无序性、确定性和互异性。

在Python中,集合的基本用途有成员测试和消除重复的条目。

集合对象还支持并集、交集、差和对称差等数学运算。

[注意:若要创建一个空的集合你必须使用 set(),不能用{}(会创建字典)。]


下面上例子:

Python官方文档练习—初入江湖(3)_条件语句_12

[对应确定性,即要么在集合内,要么不在]


一些集合运算:

Python官方文档练习—初入江湖(3)_条件语句_13



5


字典(dictionary)

理解字典的最佳方式是把它看做无序的(键:值)集合,要求是键必须是唯一的(在同一个字典内)。

一对花括号将创建一个空的字典:{}。

花括号中由逗号分隔的键:值对将成为字典的初始值;

输出字典时也是按照这种方式输出。


下面是电话本的小例子:

Python官方文档练习—初入江湖(3)_元组_14


用 dict(key = value,...)创建简单字典。 

Python官方文档练习—初入江湖(3)_元组_15







Python官方文档练习—初入江湖(3)_python_16