一个人的口味要宽一点、杂一点,
“南甜北咸东辣西酸”,
都去尝尝。
——汪曾祺
1
一种生成列表的简洁方法——列表推导式。
应用程序通常会从一个序列的每个元素的操作结果生成新的列表,或者生成满足特定条件的元素的子序列。
如果有数学基础,可以很明显的看出来有点类似一个复合函数,g(list2)=g(f(list1)).
列表推导式的结构:“[表达式 for 变量 in range() 条件语句] ”
例如,假设我们想要创建一个列表 squares(平方):
再看一个例子,用列表推导式输出满足条件的坐标:
需要注意的是:要处理两个表达式或者是两个变量(专业术语是元组形式)一定要用括号括起来。
表达式可以是一个列表推导式。
2
del语句——可以从列表中根据索引而不是值来直接删除一个元素。
而上一期中介绍的 pop()方法则会先返回再删除,我猜你们懒得回忆:
下面是 del:
del用索引的话,好处在于可以删除一段数(切片),而不像pop,只能一个一个排队,一个一个出队。如下,看例子:
3
元组是由逗号分割开的若干值,如下面的 t:
元组输出的总是带着括号的,输入时如果没有混淆的情况下是不需要带的。
例如下面的 u 就必须带括号:
元组的值是不能修改的:
[这里的错误提示:
“ 类型错误:‘元组’对象不支持单个元素赋值 ”]
但是可以通过以下这种方式读取元组中每个元素的值(数量要和元素数相符):
4
集合(set)
集合这一概念貌似是初中数学就接触到了,具有无序性、确定性和互异性。
在Python中,集合的基本用途有成员测试和消除重复的条目。
集合对象还支持并集、交集、差和对称差等数学运算。
[注意:若要创建一个空的集合你必须使用 set(),不能用{}(会创建字典)。]
下面上例子:
[对应确定性,即要么在集合内,要么不在]
一些集合运算:
5
字典(dictionary)
理解字典的最佳方式是把它看做无序的(键:值)集合,要求是键必须是唯一的(在同一个字典内)。
一对花括号将创建一个空的字典:{}。
花括号中由逗号分隔的键:值对将成为字典的初始值;
输出字典时也是按照这种方式输出。
下面是电话本的小例子:
用 dict(key = value,...)创建简单字典。