《Python编程,从入门到实践》第四章:操作列表
文章目录
1、遍历整个列表
需要对列表中的每个元素都执行相同的操作时,可使用Python中的for 循环。例如,使用for 循环来打印魔术师名单中的所有名字:
代码第二行定义了一个for 循环让Python从列表magicians 中取出一个名字,并将其存储在变量magician 中。然后让Python打印存储到变量magician中的名字,这样,对于列表中的每个名字,Python都将重复执行2,3行代码。最后输出列表中所有的姓名。
1.1 在for 循环中执行更多的操作
在for 循环中,可对每个元素执行任何操作。在代码行for magician in magicians 后面,每个缩进的代码行都是循环的一部分,且将针对列表中的每个值都执行一次。在for 循环中,想包含多少行代码都可以。
1.2在for 循环结束后执行一些操作
for 循环结束后通常需要提供总结性输出或接着执行程序必须完成的其他任务。
在for 循环后面,没有缩进的代码都只执行一次,而不会重复执行。
2、避免缩进错误
避免出现忘记缩进以及出现不必要的缩进的情况。
避免for循环语句后面的冒号出现遗漏。
3、创建数值列表
3.1使用函数range()
函数range() 让Python从你指定的第一个值开始数,并在到达你指定的第二个值后停止,因此输出不包含第二个值。要打印数字1~5,需要使用range(1,6) :
3.2使用range() 创建数字列表
可使用函数list() 将range() 的结果直接转换为列表。如果将range() 作为list() 的参数,输出将为一个数字列表。
在Python中,两个星号(** )表示乘方运算。下面的代码演示了如何将前10个整数的平方加入到一个列表中:
在循环中,计算每个值的平方,并立即将结果附加到列表squares 的末尾。
3.3对数字列表执行简单的统计计算
对数字列表中的最大值,最小值进行筛选,以及列表求和:
3.4 列表解析
列表解析将for 循环和创建新元素的代码合并成一行,并自动附加新元素。
要使用这种语法,首先指定一个描述性的列表名,如squares ;然后, 指定一个左方括号,并定义一个表达式,用于生成你要存储到列表中的值。在这个示例中,表达式为value2 ,它计算平方值。接下来,编写一个for 循环,用于给表达式提供值,再加上右方括号。在这个示例中,for 循环为for value in range(1,11) ,它将值1~10提供给表达式value2 。请注意,这里的for 语句末尾没有冒号。
4、使用列表的一部分
4.1切片
你可以生成列表的任何子集,例如,如果你要提取列表的第2~4个元素,可将起始索引指定为1 ,并将终止索引指定为4 :这一次,切片始于’marita’ ,终于’florence’ :
如果没有指定起始索引,Python从列表开头开始提取:
要让切片终止于列表末尾,也可使用类似的语法。
负数索引返回离列表末尾相应距离的元素,因此你可以输出列表末尾的任何切片。例如,如果你要输出名单上的最后三名队员,可使用切片players[-3:] :
4.2 遍历切片
如果要遍历列表的部分元素,可在for 循环中使用切片。
4.3 复制列表
要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:] )。这让Python创建一个始于第一个元素,终止于最后一个元素的切片,即复制整个列表。
5.元组
Python将不能修改的值称为不可变的 ,而不可变的列表被称为元组。
5.1定义元组
元组看起来犹如列表,但使用圆括号而不是方括号来标识。定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样。
但元组中的元素是不可修改的。
5.2 遍历元组中的所有值
像列表一样,也可以使用for 循环来遍历元组中的所有值:
5.3 修改元组变量
虽然不能修改元组的元素,但可以给存储元组的变量赋值。因此,如果要修改元组中的元素,要重新定义整个元组:
6.设置代码格式
PEP 8建议每级缩进都使用四个空格,这既可提高可读性,又留下了足够的多级缩进空间。在字处理文档中,大家常常使用制表符而不是空格来缩进。对于字处理文档来说,这样做的效果很好,但混合使用制表符和空格会让Python解释器感到迷惑。很多Python程序员都建议每行不超过80字符。要将程序的不同部分分开,可使用空行。