切片操作 Python學習筆記

2021-09-17 23:29:25 字數 2478 閱讀 7661

切片適用於列表、字串、range物件等型別

1.[begin(預設為0):end(不包括該位置,預設為列表長度):step(預設為1)]步長step省略時,可以順便省略最後乙個冒號.

2.可以通過切片來擷取列表中的任何部分,得到乙個新列表,也可以來修改和刪除列表中的元素,甚至可以通過切片操作作為列表物件增加元素。

3.基本操作

alist=[3,5,7]

print(alist[len(alist):]) #

alist[len(alist):]=[9]

print(alist) #[3,5,7,9]

alist[:3]=[1,2,3]

print(alist) #[1,2,3,9]

alist[:3]=

alist=list(range(10))

print(alist) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

alist[::2]=[0]*(len(alist)//2)

print(alist) #[0, 1, 0, 3, 0, 5, 0, 7, 0, 9]

alist = [1, 2, 1, 2, 1, 1, 1]

for i in alist[::]:

if 1 == i:

alist.remove(i)

print(alist)

blist = [1, 2, 1, 2, 1, 1, 1]

for j in range(len(blist)-1, -1, -1): # 從後往前刪除

if blist[i] == 1:

del blist[i]

print(blist)

# 切片示例

# 1.擷取列表內容

a_l = [3, 4, 5, 6, 7, 9, 11, 13, 15, 17]

print(a_l[::1]) # 1.返回包含所有元素的新列表

print(a_l[::-1]) # 2.逆序所有元素

print(a_l[::2]) # 3.偶數字置,隔乙個取乙個

print(a_l[1::2]) # 4.奇數字置,隔乙個取乙個

print(a_l[3::]) # 5.輸出下標3開始的所有元素

print(a_l[3:6]) # 6.下標[3, 6)之間的所有元素

print(a_l[100:]) # 7.返回空列表

# print(a_l[100]) # 8.直接下標訪問會越界

# 2.原地修改列表內容

b_l = [3, 4, 5, 6, 7, 9, 11, 13, 15, 17]

print(len(b_l))

b_l[len(b_l):] = [1111] # 9.在尾部追加元素

print(b_l)

b_l[:3] = [2222, 2222, 2222] # 10.替換前3個元素

print(b_l)

b_l[:3] = # 11.刪除前3個元素

print(b_l)

b_l[::2] = [3]*4 # 12.替換偶數字置上的元素為3(兩個元素個數必須一樣多)

print(b_l)

# 3.使用del與切片結合來刪除列表元素

c_l = [3, 5, 7, 9, 11, 13, 15, 17, 19]

del c_l[:3] # 13.刪除前三個元素

print(c_l)

del c_l[::2] # 14.刪除偶數字置上的元素

print(c_l)

4.淺複製(切片返回的是列表元素的淺複製)

alist=[3,5,7]

blist=alist

print(blist) #[3, 5, 7]

alist=blist

print(alist is blist) #true

id(alist)

id(blist)

alist=[3,5,7]

blist=alist[::]

print(alist==blist) #true

print(alist is blist) #false

print(id(alist)==id(blist)) #false

5.注意事項**自

1.索引有正索引(0, 1, 3, …)和負索引(-1, -2, …)

2.步長為-1時表示逆序輸出

3.注意:切片操作不會因為下標越界而丟擲異常,而是在簡單地在列表尾部級截斷或返回乙個空列表,**有更強的健壯性

4.切片產生的時乙個新物件(列表),而不是原來列表對應記憶體空間的引用

Python學習筆記 切片操作

slice start stop step 0 represent the left end of the sequence,1 represents the right end of the sequence.mystring my string if the sign of the step i...

Python學習筆記 切片

學習廖雪峰python教程所得。1.切片 slice 可用於list tuple或字串。以list為例 l a b c d e 切片操作符 l x y z x y z 切片索引,x是左端,y是右端,z是步長,在 x,y 區間從左到右每隔z取值,預設z為1可以省略z引數。步長的負號就是反向,從右到左取...

Python 學習筆記 4 1 切片

取乙個list或tuple的部分元素是非常常見的操作。比如,乙個list如下 l michael sarah tracy bob jack 取前3個元素,應該怎麼做?笨辦法 l 0 l 1 l 2 michael sarah tracy 之所以是笨辦法是因為擴充套件一下,取前n個元素就沒轍了。取前n...