python 列表切片及相關方法

2021-10-07 18:06:41 字數 3467 閱讀 5815

列表切片可以從列表中獲取多個值,結果是乙個新的列表。格式:spam[:]

第乙個整數是切片開始處的下標,第二個整數時切片結束處的整數。切邊向上增長但是不包括第二個下標的值。

spam=

['cat'

,'dog'

,'horse'

,'lion'

]print

(spam[0:

4])#列表中下標從0到3的數

print

(spam[1:

3])#列表中下標從1到2的數

print

(spam[0:

-1])

#列表中下標從0到倒數第一位的數(不包括最後一位)

結果:[

'cat'

,'dog'

,'horse'

,'lion'][

'dog'

,'horse'][

'cat'

,'dog'

,'horse'

]

為了方便,可以省略冒號旁邊的數字。

省略第乙個數字代表從0開始(即列表的開始)。省略第二個下標相當於省略列表的長度,即列表的末尾。

spam=

['cat'

,'dog'

,'horse'

,'lion'

]print

(spam[:2

])print

(spam[1:

])print

(spam[:]

) 結果:

['cat'

,'dog'][

'dog'

,'horse'

,'lion'][

'cat'

,'dog'

,'horse'

,'lion'

]

python列表的下標也可以用負數。負幾就代表倒數第幾位。

例:

spam=

['cat'

,'dog'

,'horse'

,'lion'

]print

(spam[-1

])print

(spam[-3

])結果:lion

dog

spam=

['cat'

,'dog'

,'horse'

,'lion'

]del spam[2]

結果:spam=

['cat'

,'dog'

,'lion'

]del spam[2]

結果:spam=

['cat'

,'dog'

]

給remove()方法傳入乙個值,它會在呼叫的列表中刪除。

注意:如果列表中多次出現這個值,只有第一次會被刪除。

spam=

['cat'

,'dog'

,'horse'

,'lion'

,'cat'

]spam.remove(

'cat'

)spam

結果:[

'dog'

,'horse'

,'lion'

,'cat'

]

spam=

['cat'

,'dog'

,'horse'

,'lion'

]spam.index(

'dog'

)結果:

1spam.index(

'lion'

)結果:

3

注意:如果列表中有多個值,將會返回第一次時出現的下標.

spam=

['cat'

,'dog'

,'horse'

,'lion'

]'fish'

) spam

結果:spam=

['cat'

,'dog'

,'horse'

,'lion'

,'fish'

]

spam=

['cat'

,'dog'

,'horse'

,'lion'

] spam.insert(4,

'fish'

) spam

結果:[

'cat'

,'dog'

,'horse'

,'lion'

,'fish'

]

spam=[2

,5,3

,1,7

,6] spam.sort(

) spam

結果: [1

,2,3

,5,6

,7]

spam=

['cat'

,'dog'

,'horse'

,'lion'

] spam.sort(

) spam

結果:['cat'

,'dog'

,'horse'

,'lion'

]

也可以指定關鍵字reverse為true,讓列表反向排序

spam=[2

,5,3

,1,7

,6]spam.sort(reverse=

true

)spam

結果:[7,

6,5,

3,2,

1]

注意:

1:sort()排序是對列表的當場排序,沒有返回值。

2:sort()不能排序既有字串又有數字的列表。

3:sort()對字串排序使用ascii 字元排序,而不是實際的字典順序。即大寫字母排在小寫字母之前。

如果想要實際的字典順序,則修改關鍵字key的值為str.lower

例:

spam=

['cat'

,'dog'

,'horse'

,'lion'

] spam.sort(

) spam

結果:['dog'

,'lion'

,'cat'

,'horse']

spam=

['cat'

,'dog'

,'horse'

,'lion'

] spam.sort(key=

str.lower)

spam

結果:['cat'

,'dog'

,'horse'

,'lion'

]

python 切片 Python 列表切片

想必很多人都使用過列表的切片,通過切片可以從列表中獲取乙個或多個元素,但你真的了解切片?一 一般玩法 name a b c d e f g h name 0 2 獲取 0 2 中間的元素,不包括索引為 2 的元素 a b name 2 從 0 開始切,可省略 0 a b name 1 同樣地,切到最...

Python 學習筆記 列表及相關方法

列表 spam 1 列表資料型別 列表下標從0開始 列表下標可以為負數,表示倒數第幾個 切片結果是乙個新的列表,區間為閉開區間,即 n,m 獲取列表長度 len 如 len spam 改變列表中的值,可以直接賦值給列表元素 如 spm 1 dog 刪除列表中的值,del語句 如 del spam 2...

python 列表切片

a 0,1,2,3,4,5,6,7,8,9 print a 1 3 a 1 3 print a 3 a 3 print a 3 a 3 print a 1 7 2 a 1 7 2 步長為2 print a 1 a 1 從後往前遍歷 print a 7 1 2 a 7 1 2 從後往前遍歷,步長為2 ...