開始 結束 步長值
我們知道,在for循環裏range可以調用3個參數,分別對應開始、結束和步長值。用於列表使,我們可以將這三個參數在中括號中指定,用冒號字符分隔。
使用時,這三個值都是可選的。
如果沒有指定開始值,則默認爲0;
如果沒有指定結束值,則取列表允許的最大值;
如果沒有指定步長值,則默認值爲1;
列表切片的使用
>>> mylist
['w', 'a', 's', 'a', 'b', 'i']
>>> mylist[0: 5: 2]
['w', 's', 'b']
>>> mylist[3::]
['a', 'b', 'i']
>>> mylist[:5:]
['w', 'a', 's', 'a', 'b']
>>> mylist[::2]
['w', 's', 'b']
注意:結束值表示 直到但不包括
列表切片規律總結
step爲正,則從左到右切片,如果 start > end,則爲空
>>> mylist = list("wasabi")
>>> mylist
['w', 'a', 's', 'a', 'b', 'i']
>>> mylist[5:0:2]
[]
>>> mylist[0:4:2]
['w', 's']
step爲負,則從右到左切片,如果 start < end,則爲空
>>> mylist[0:5:-2]
[]
>>> mylist[5:3:-1]
['i', 'b']
start 和 end 如果不同時爲空,前者表示最開始,後者表示最後一個;
>>> mylist[:4:2]
['w', 's']
>>> mylist[3::2]
['a', 'i']
同時爲空的時候,表示取所有。至於方向,取決於 step
>>> mylist[::2]
['w', 's', 'b']
>>> mylist[::-1]
['i', 'b', 'a', 's', 'a', 'w']