Python学习-28.Python中的列表切片

在实际的业务过程中,经常有这么一个操作:取一个列表的一部分进行操作,而不影响原来的列表。也就是将原来的列表复制一个部分副本并对其进行操作。

举个完整例子:

1 list = ['a','b','c','d','e']# 声明一个列表。
2 sublist = list[1:3]# 对列表进行切片,取索引为 1 至 3 - 1 的元素,即 b 和 c。
3 print(sublist)# 输出切片,得b c
4 sublist[0] = 'z'# 修改切片
5 print(sublist)# 输出切片,得z c
6 print(list)# 输出原列表,得a b c d e,可见修改切片并不会修改原列表。

可见切片的第一个参数为起始元素的索引,而第二个参数则是结束元素的下一个元素的索引。

另外,切片还支持简写:

list[0:3]和list[:3]效果是相同的。(输出a b c)

而list[3:5]和list[3:]效果是相同的(在此例子中,输出:d e)

即若省略第一个参数则第一个参数为0,而省略第二个参数则为列表的长度。

 

最后就是切片的一个特殊应用:

1 print(list[:])
2 print(list.copy())

这两行的效果是等价的。

posted @ 2014-09-29 16:37  h82258652  阅读(621)  评论(0编辑  收藏  举报