《Python编程从入门到实践》第四章

遍历整个列表

一个简单的示例:

magicians = ['alice', 'david', 'carolina'] #1
for magician in magicians: #2
     print(magician) #3

循环体中的内容,通过格式上的缩进来包含。同时注意当循环结束时,magician的内容仍有意义,为列表magicians中的最后一个元素的内容。

创建数值列表

使用range()来进行创建

for value in range(1, 10, 2):
     print(value)

在这个示例中,通过函数range()打印从1~10中间隔为2的数字,即1,3,5,7,9。
同时对于range(1, 10)会从1打印到9,即若想打印从1~5的数字,需要使用range(1, 6)。
如果想用python内置函数简单形成一个数列,可以采用list(range(x, y))的形式,来形成从x~y-1的数列。
另外,min()、max()和sum()也可以对数据进行相应的处理(找出最小值,找出最大值,加和)。

列表解析

在形成新的列表时,对于简单的逻辑结构可以通过一行代码来简化原先需要三四行代码,通过列表解析式的形式简便的生成新列表。
原有:

squares = []
for num in range(1, 11):
     squares.append(num ** 2)
print(squares) 

列表解析式:
squares = [value ** 2 for value in range(1, 11)]
print(squares)

列表切片

players = ['charles', 'martina', 'michael', 'florence','eli']
print(players[0:3])

其中0:3表示第0个元素到第2个元素,若想打印第1到第4个元素需要将切片变为1:5。如果没有指定,即如[:3]或[3:],前者表示切片为从开始到第2个元素,后者表示为从第三个元素到结束。
如果要输出列表后几个元素,可以按此种方式切片:[-3:]。表示输出列表中最后三个元素。
此外可以将切片结合循环使用:

players = ['charles', 'martina', 'michael', 'florence', 'eli']
print("Here are the first three players on my team:")
for player in players[:3]:
     print(player.title())

复制列表

要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:])。 这让Python创建一个始于第一个元素,终止于最后一个元素的切片,即复制整个列表。

my_food = ['pizza', 'falafel', 'carrot cake']
friend_food = my_food[:]

若直接采用赋值的方式进行复制,即另
friend_food = my_food
并不是真正的复制,而是friend_food与my_food指向同一个值,当对其中任意一个变量进行改变时,另一个也会同样发生改变。
此外,复制还可以通过python自带模块copy以及数据处理模块numpy中的相应函数实现。

元组(tuple)

可简单的理解无法修改内容的“列表”。定义方式如下:

dimensions = (200, 50)
print(dimensions[0])
print(dimensions[1])

PEP8 建议每级缩进都是用4个空格,这既可提高可读性,又留下了足够的多级缩进空间。
在本章中,你学习了:如何高效地处理列表中的元素;如何使用for循环遍历列表,Python 如何根据缩进来确定程序的结构以及如何避免一些常见的缩进错误;如何创建简单的数字列表, 以及可对数字列表执行的一些操作;如何通过切片来使用列表的一部分和复制列表。你还学习了 元组(它对不应变化的值提供了一定程度的保护),以及在代码变得越来越复杂时如何设置格式, 使其易于阅读。

你可能感兴趣的:(《Python编程从入门到实践》第四章)