Python入門list切片

2021-08-14 13:21:10 字數 2021 閱讀 6402

l[0:3]

['adam', 'lisa', 'bart']

l[0:3]表示,從索引0開始取,直到索引3為止,但不包括索引3。即索引0,1,2,正好是3個元素。

如果第乙個索引是0,還可以省略:

l[:3]

['adam', 'lisa', 'bart']

也可以從索引1開始,取出2個元素出來:

l[1:3]

['lisa', 'bart']

只用乙個 : ,表示從頭到尾:

l[:]

['adam', 'lisa', 'bart', 'paul']

因此,l[:]實際上複製出了乙個新list。

切片操作還可以指定第三個引數:

l[::2]

['adam', 'bart']

第三個引數表示每n個取乙個,上面的 l[::2] 會每兩個元素取出乙個來,也就是隔乙個取乙個。

把list換成tuple,切片操作完全相同,只是切片的結果也變成了tuple。

例:range()函式可以建立乙個數列:

range(1, 101)

[1, 2, 3, ..., 100]

請利用切片,取出:

前10個數;

3的倍數;

不大於50的5的倍數。

l = range

(1,101)

print l[:10]

print l[2::3]

print l[4

:50:5]

print:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

[3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99]

[5, 10, 15, 20, 25, 30, 35, 40, 45, 50]

對於list,既然python支援l[-1]取倒數第乙個元素,那麼它同樣支援倒數切片,試試:

l = ['adam', 'lisa', 'bart', 'paul']
l[-2

:]['bart', 'paul']

l[:-

2]['adam', 'lisa']

l[-3

:-1]

['lisa', 'bart']

l[-4:-1

:2]['adam', 'bart']

記住倒數第乙個元素的索引是-1。倒序切片包含起始索引,不包含結束索引。

字串 『***』和 unicode字串 u』***』也可以看成是一種list,每個元素就是乙個字元。因此,字串也可以用切片操作,只是操作結果仍是字串:

'abcdefg'[:3]

'abc'

'abcdefg'[-3:]

'efg'

'abcdefg'[::2]

'aceg'

在很多程式語言中,針對字串提供了很多各種擷取函式,其實目的就是對字串切片。python沒有針對字串的擷取函式,只需要切片乙個操作就可以完成,非常簡單。

例:

def

firstcharupper

(s):

return s[:1].upper() + s[1:]

print firstcharupper('hello')

print firstcharupper('sunday')

print firstcharupper('september')

print:

hello

sunday

september

python入門 切片

這個東西目前不太能清楚的表示出來,我理解就是乙個字串的擷取操作,其語法比較簡單,就是在你需要切片 操作 的資料後面加上 start index end index interval start index 切片起始位置 被切片目標擷取起點 end index 切片終止位置 被切片目標擷取終點 int...

python中list切片詳解

python中list切片詳解 語法 start stop step step代表切片步長 切片區間為 start,stop 包含start但不包含stop 1.step 0,從左往右切片 2.step 0,從右往左切片 3.start stop step 為空值時的理解 start stop預設為...

python中list切片詳解

語法 start stop step step代表切片步長 切片區間為 start,stop 包含start但不包含stop 1.step 0,從左往右切片 2.step 0,從右往左切片 3.start stop step 為空值時的理解 start stop預設為列表的頭和尾,並且根據step的...