list列表切片方法匯總


python為list列表提供了強大的切片功能,下面是一些常見功能的匯總

"""
使用模式: [start:end:step]
    其中start表示切片開始的位置,默認是0
    end表示切片截止的位置(不包含),默認是列表長度
    step表示切片的步長,默認是1
    當start是0時,可以省略;當end是列表的長度時,可以省略.
    當step是1時,也可以省略,並且省略步長時可以同時省略最后一個冒號.
    此外,當step為負數時,表示反向切片,這時start值應該比end值大.
    注意:切片操作創建了一個新的列表.
"""

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

print(alist[::])  # 返回包含原列表所有元素的新列表
print(alist[::-1])  # 返回原列表的一個逆序列表
print(alist[::2])  # [1, 3, 5, 7, 9] .取列表下標偶數位元素
print(alist[1::2])  # [2, 4, 6, 8]  取列表下標奇數位元素
print(alist[3:6])  # [4, 5, 6]  #取列表中下標3到6的值,步長是1
print(alist[3:6:2])  # [4, 6] #取列表中下標3到6的值,步長是2

print(alist[:10])  # [1, 2, 3, 4, 5, 6, 7, 8, 9]  . end大於列表長度時,取列表中所有元素,省略了步長1.
print(alist[10:]) # []  . 表示從列表的第10位開始取,一直取到列表結果,步長是1.

alist[len(alist):] = [10]  # 在列表的未尾添加一個元素
print(alist) #[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

alist[:0] = [-1,0]  # 在列表的頭部插入元素. alist[:0] 相當於 alist[0:0] 再相當於 alist[0:0:1]
print(alist) #[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

alist[5:5] = [-6]  # 把列表的第6個位置替換成-6. 相當於alist[5:5:1] = [-6]
print(alist) #[-1, 0, 1, 2, 3, -6, 4, 5, 6, 7, 8, 9, 10]

alist = [1, 2, 3, 4, 5, 6, 7, 8, 9]
alist[:3] = ['A','B','C','D']  # 把alist的前3個元素換成['A','B','C','D']
print(alist)  #['A', 'B', 'C', 'D', 4, 5, 6, 7, 8, 9]

alist[3:] = ['E','F','G']  # 把列表第3個元素之后的元素替換成['E','F','G']
print(alist) # ['A', 'B', 'C', 'E', 'F', 'G']

alist = [1, 2, 3, 4, 5, 6]
alist[::2] = [0]*3 # 替換列表下標是偶數的前三個元素,注意使用該方法時,列表下標是偶數的元素個數必須與后面替換的元素個數相等,否則報錯
print(alist) #[0, 2, 0, 4, 0, 6]

alist[::2] = ['a','b','c'] # 跟上面一樣的道理,只是替換的內容不一樣
print(alist) # ['a', 2, 'b', 4, 'c', 6]

alist = [1, 2, 3, 4, 5, 6]
alist[:3] = [] # 刪除列表中前3個元素
print(alist) # [4, 5, 6]


alist = [1, 2, 3, 4, 5, 6]
del alist[:3]  # 使用del關鍵字刪除列表前3個元素
print(alist) #[4, 5, 6]

alist = [1, 2, 3, 4, 5, 6]
del alist[::2]  # 刪除列表元素,下標是偶數位的元素
print(alist) #[2, 4, 6]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM