切片
把列表想象成一個蛋糕,切片就相當於切蛋糕的某一塊。
切片指從現有列表中,獲取一個子列表(局部)。
注:創建列表時,變量的名儘量使用複數,一方面爲了和普通變量區分,一方面體現列表多個值的特點,不是硬性要求。
students=['熊大','熊二','光頭強']
print(students)
['熊大', '熊二', '光頭強']
可以通過索引獲取制定的元素,而索引可以是負數,如果索引是負數,則從後向前獲取元素,-1表示倒數第一,-2表示倒數第二,以此類推。
students=['熊大','熊二','光頭強']
print(students[-1])
光頭強
語法及使用
重新創建一個列表,對切片進行說明。
lists=[111,222,333,444,555,666]
print(lists)
[111, 222, 333, 444, 555, 666]
語法:列表[起始:結束]
注意:通過切片獲取元素時,會包括起始位置的元素,不會包括結束位置的元素。
例如:
lists=[111,222,333,444,555,666]
print(lists[0:1])
[111]
其只包含開始,不包含結束,假如你要獲取第4個元素,從0開始,得到4結束纔可以,其中包含5個元素,結束位置不算,正好4個元素。
lists=[111,222,333,444,555,666]
print(lists[0:4])
[111, 222, 333, 444]
做切片操作時,總會返回一個新的列表,但不會影響原來列表。
lists=[111,222,333,444,555,666]
print(lists[0:4])
print(lists)
[111, 222, 333, 444]
[111, 222, 333, 444, 555, 666]
如果省略結束位置,則會一直截取到最後,如果省略開始位置,則會從第一個元素開始截取到結束位置,如果開始位置和結束位置全部省略,則相當於創建一個列表的副本。
lists=[111,222,333,444,555,666]
print(lists[0:])
print(lists[:3])
print(lists[:])
[111, 222, 333, 444, 555, 666]
[111, 222, 333]
[111, 222, 333, 444, 555, 666]
步長
語法:列表[起始:結束:步長]
步長表示的是獲取元素的間隔,默認爲1。
lists=[111,222,333,444,555,666]
print(lists[0:4:1])
[111, 222, 333, 444]
可以看到,步長爲1沒有任何變化,我們把步長換成2查看一下。
lists=[111,222,333,444,555,666]
print(lists[0:4:2])
[111, 333]
但要注意,步長不能是0,但可以是負數,如果是負數,則會從列表的後面向前獲取元素。
lists=[111,222,333,444,555,666]
print(lists[::-1])
[666, 555, 444, 333, 222, 111]
如果指定切片範圍的話,也是要倒着寫的,否則將獲取不到。例如:
lists=[111,222,333,444,555,666]
print(lists[0:5:-1])
[]
需要反過來把結束寫到起始,起始寫到結束。
lists=[111,222,333,444,555,666]
print(lists[5:0:-1])
[666, 555, 444, 333, 222]