Python——list切片

前文简单介绍了Python中的list和它常用的一些函数,知道list是一个有序的数据集合,那
么我们如何获取list中的元素呢?

Index:

与C语言中数组一样,list可以通过每个元素的index来获取它的值,但list却与数组有很大
的不同:
list的index可以为负数,当index不为负数时,list内的元素从左到右,它们的index值从 0
开始依次递增,最大值为 len(LIST) - 1;当list为负数时,list内元素从右到左,它们的
index值从 -1 开始递减,最小值为 -len(LIST)
>>> test = [0, 1, 2, 3, 4, 5]
>>> print(test)
[0, 1, 2, 3, 4, 5]
>>> print(test[0], test[2], test[4])
0 2 4
>>> print(test[-1], test[-3], test[-6])
5 3 0

Slice

在list内,可以通过index值 获取多个元素
LIST[m:n],取得list内index从 m 开始到index为 n 的前一个元素为止,m、n 可正可负
LIST[:n],取得list内第一个元素开始到index为 n 的前一个元素为止
LIST[m:],取得list内index为 m 的元素开始到最后一个元素为止 
>>> test = [0, 1, 2, 3, 4, 5]
>>> print(test)
[0, 1, 2, 3, 4, 5]
>>> print(test[1:4])
[1, 2, 3]
>>> print(test[-5:-2])
[1, 2, 3]
>>> print(test[-5:4])
[1, 2, 3]
>>> print(test[:4])
[0, 1, 2, 3]
>>> print(test[2:])
[2, 3, 4, 5]

注意:不能让index为 m 的元素在list内位于index为 n 的元素后面
对于多维list也适用:
>>> test = [[0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5]]
>>> print(test)
[[0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5]]
>>> print(test[3][3])
3
>>> print(test[3][2:5])
[2, 3, 4]
>>> print(test[2:5][3])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range

猜你喜欢

转载自www.cnblogs.com/lnlin/p/9126169.html