Python 操作列表之列表统计计算和切片

对列表做简单统计计算

用于处理数字列表的Python函数,最大值max(),最小值 min() 与总和 sum()
示例:

max(squres)
min(squares)
sum(squares)

列表解析

列表解析的作用是将for循环几行生成列表的代码合成一行代码实现。
示例:

squares = [value**2 for value in range(1,11)]
print(squares)

语法解释:
首先指定一个描述性的列表名,如squares;
然后,指定一个左方括号,并定义一个表达式,用于生成你要存储到列表中的值。
最后,编写一个for循环,用于给表达式提供值,再加上右括号。
在这个示例中,for 循环为 for value in range(1,11),它将值 1-10 提供给表达式 value**2。请注意,这里的 for 语句末尾没有冒号。
当觉得编写三四行代码来生成列表有点繁复时,就应该考虑创建列表解析了。

可使用list()函数将range()的结果直接转换为列表。如果将range()作为list()的参数,输出将为一个数字列表。
示例:

numbers = list(range(1,5))
print(numbers)

示例输出:

[1, 2, 3, 4]

Process finished with exit code 0

使用列表的一部分

列表的一部分在 Python 称之为 切片。创建切片的语法:
切片 = 列表[起始下标:结束下标]
说明:切片的数据是 起始下标 到 结束下标-1 的列表数据;如果起始下标省略,则表示从列表开始位置;结束下标省略,则表示到列表末尾的元素。
示例:

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

输出也是一个列表:

[‘charles’,’martina’,’michael’]

用负数下标,示例:

players = [‘charles’,’martina’,’michael’,’florence’,’eli’]
print(players[-3:])

表示输出名单上的最后三名队员

遍历前三名队员,示例:

players = [‘charles’,’martina’,’michael’,’florence’,’eli’]
for player in players[:3]:
      print(player.title())

处理数据时,可使用切片来进行批量处理;编写 Web 应用程序时,可使用切片来分页显示信息,并在每页显示数量合适的信息。

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

my_foods=[‘pizza’,’falafel’,’carrot cake’]
friend_foods=my_foods[:]

倘若我们只是简单地将my_foods赋给friend_foods,就不能得到两个列表。
示例:

my_foods=[‘pizza’,’falafel’,’carrot cake’]
friend_foods=my_foods

说明:上述代码是让 Python 将新变量 friend_foods 关联到包含在 my_foods 中的列表,因此这两个变量都指向同一个列表。

注意:现在暂时不要考虑这个示例中的细节。基本上,当你试图使用列表的副本时,如果结果出乎意料,请确认你像第一个示例那样使用切片复制了列表。