2.1.3 列表的切片操作

列表切片是指将一个列表分割成多个列表。列表的切片操作和之前提到过的字符串很类似,都是通过冒号来指定起始位和终止位。在如下的SplitListDemo.py案例中将演示相关的做法。


01 idList=[1,2,3,4,5,6]
02 print(idList[0:2]) # [1, 2]
03 print(idList[3:]) # [4, 5, 6]
04 print(idList[:3]) # [1, 2, 3]
05 print(idList[1:-2]) # [2, 3, 4]
06 newIdList=idList[0:2]
07 idList[0]=100
08 print(idList) # [100, 2, 3, 4, 5, 6]
09 print(newIdList) # [1, 2]

第2行的切片语句是0:2,表示从0号索引开始(含0号索引)到2号索引结束(不含2号索引),从该行的打印语句中能验证这一点。第3行的切片语句中没有结束位索引,表示从3号索引开始(含3号索引)到最后一个元素。第4行没有指定起始位,表示从开始位切片到第3号元素(不含3号元素)。

在指定切片起始位和结束位时,同样可以用负号,表示从右边开始算,比如第5行的-2表示结束位是从右边算起的第二个元素。

注意,切片后的新列表和原列表无关。切片完成后,修改原列表中的数据不会影响到新列表,从第6~9行的修改和打印语句中能看出这一点。