Python初學者筆記:切片

切片

把列表想象成一個蛋糕,切片就相當於切蛋糕的某一塊。

切片指從現有列表中,獲取一個子列表(局部)。

注:創建列表時,變量的名儘量使用複數,一方面爲了和普通變量區分,一方面體現列表多個值的特點,不是硬性要求。

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]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章