Python使用列表的一部分(55)

2017-07-28  本文已影响529人  一日歌

处理列表的部分元素,Python称之为切片。

python大大的图

Python使用列表的一部分(55)

我的图

Python使用列表的一部分(55)

1.切片

切片其实跟range( )很像。语法为:

list[start,: end: step]

切片从start(含start)处开始,到end(不含end)处结束。start指向位置应该在end指向位置的左边,否则返回值为空。但是start和end是可以越界的,越界时自动取原列表的界值。

Python使用列表的一部分(55)

列表中第一个元素的位置为0,最后一个元素的位置为-1。切片带步进是可以的,step默认为1,有趣的是它可以取负值,也就是说我们可以倒着输出列表。

Python使用列表的一部分(55)

2.遍历切片

如果要遍历列表的部分元素,可在for循环中使用切片。顺便复习一下列表解析

Python使用列表的一部分(55)

3.复制列表

pop( )函数用于移出列表中的一个元素(默认最后一个元素),并且返回该元素的值。

list.pop(obj = list[-1])

obj是一个可选参数,该对象的索引可以从该列表中删除。

11,12,14行说的是:我们创建了一个名为c_players的新列表。我们在不指定任何索引的情况下从列表players中提取一个切片,聪哥创建了这个列表的副本,再将该副本存储到变量c_players中。通过pop函数,取出列表c_players中的栈顶元素(最后一个元素)。给这个列表取名叫clone,并打印出来。

13行是将players赋给p_players,而不是将players的副本存储到p_players。这种语法实际上是让Python将新变量p_players关联到包含players中的列表,因此这两个变量都指向同一个列表。我们对任何一个列表的操作都相当于对这两个列表同时进行了相同操作。

16行说的就是我们取出来p_players这个列表的栈顶元素,但是在打印players这个列表的时候发现,它的栈顶元素也被取走了。

对于列表直接赋值这里可以抽出来看一下,无论对其中哪个列表操作,结果这两个列表都是一样的。因为它们根本就是同一个列表

Python使用列表的一部分(55)

因此当我们复制列表而不想改动原列表的时候一定要确保复制了它的切片,而不是这个列表本身。

上一篇下一篇

猜你喜欢

热点阅读