概念

Python中将处理列表的部分元素称之为切片。要创建切片,可指定要使用的第一个元素的索引和最后一个元素的索引加1,比如,要输出列表中的前三个元素,需要指定索引0-3,分别输出0、1、2的元素。

例如:

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

代码打印该列表的一个切片,其中包含三名队员。

也可以生成列表的任何子集,例如提取列表的2-4个元素,可将起始索引的值指定为1,将终止索引指定为4

例如:

1
2
players =['charles','martina','michael','florence','eli']
print(players[1:4])

如果没有指定起始索引,Python将自动从列表头开始

例如:

1
2
players =['charles','martina','michael','florence','eli']
print(players[:4])

要让切片终止于列表的末尾,可以使用类似的语法。例如,提取从第三个元素到列表末尾的所有元素,可将起始索引设置为2,省略终止索引

例如:

1
2
players =['charles','martina','michael','florence','eli']
print(players[2:])

无论列表有多长,切片都可以让你输出从指定位置到列表末尾的所有记录,其中,负数索引表示返回离列表末尾相应距离的元素,例如,输出列表最后三个元素

例如:

1
2
players =['charles','martina','michael','florence','eli']
print(players[-3:])
遍历切片

可在for循环中使用切片达到遍历切片的效果

例如,遍历列表前三名的队员:

1
2
3
4
players =['charles','martina','michael','florence','eli']
print(“here are the first three players on my team:”)
for player in players[:3]
print(player.title())

在很多情况下,切片很有用。例如,在编写游戏时,可以在玩家退出游戏时将其最终得分加入到一个列表中,然后获取该玩家的三个最高分;在编写web应用程序的时候可以用来分页显示信息。

复制列表

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

例如:

1
2
3
players =['charles','martina','michael','florence','eli']
player = players
print(player)

注意:这种方法复制出的是两个列表,可分别向两个列表中插入不同的数据。