python 刪除list中的第乙個元素

2021-10-14 07:54:22 字數 1904 閱讀 1134

目錄

1.python 刪除list中元素三種方式(一般)

1. pop()

2.del

3.remove

2.巢狀陣列刪除存在的問題

1.預設刪除最後乙個元素.pop()中也可以傳入引數,為list的索引

2.pop() 接收的是索引,無參的情況下刪除的是最後乙個元素(典型的棧的特性)

3.pop() 存在返回值,返回的是刪除的元素值

list=[11,12,13,14,15]
list=[11,12,13,14,15]

list.pop()

print(list.pop())

print(list)

#output

14[11, 12, 13]

list=[11,12,13,14,15]

del(list[1])

print(list)

#output

[11, 13, 14, 15]

remove() 的引數是具體的元素值,而不是索引,

list=[11,12,13,14,15]

list.remove(11)

print(list)

#output

[12, 13, 14, 15]

存在於巢狀list中, 如果list1中的乙個元素發生改變,list0也會變化.

目的:list0生成後不隨list1的改變而改變

if(len(first_images)==12): #獲取到了1分鐘內的12個影象

first_images.clear()

if(len(grey_images)==5): #獲得了5分鐘的

print("image1前的shape:")

arr1 = np.array(images)

print(arr1.shape)

del(grey_images[0])

print("image1之後的shape:")

arr1 = np.array(images)

print(arr1.shape)

結果:image1前的shape和image1之後的shape並不一樣.刪除元素後比之前的少了乙個元素.因為list存放的是索引,並不是實際的值

solution:

思路:將索引改為實際的值,然後再刪除

具體步驟:

1.建立乙個新的陣列

2.對原陣列的元素依次放入新陣列中.

3.對原陣列進行元素刪除.

這樣新陣列的值並不會發生改變.因為新陣列的元素不再是引用,而是實際的值

if(len(first_images)==12): #獲取到了1分鐘內的12個影象

first_images.clear()

if(len(grey_images)==5): #獲得了5分鐘的

grey_images_val=

for t in range(5):

print("grey的length:")

print(len(grey_images))

print("image1前的shape:")

arr1 = np.array(images)

print(arr1.shape)

grey_images.pop()

print("image1之後的shape:")

arr1 = np.array(images)

print(arr1.shape)

結果:image1前的shape和image1之後的shape此時相同

python 中 list 的 刪除等問題

python 中 list 的 不常見問題 1.list 問題 最近發現乙個list賦值給另乙個,並不像值操作那樣,其實是位址共享的,就是使用remove 函式後原先的值也會被刪掉。list 1,2,3,4,5 l list l.remove 1 print l,list 結果l 2,3,4,5 l...

python中List新增 刪除元素的幾種方法

一 python中list新增元素的幾種方法 2.extend 將乙個列表中每個元素分別新增到另乙個列表中,只接受乙個引數 extend 相當於是將list b 連線到list a上。list1 a b c lis2 list2.extend list1 0 list1 2 list1 a c 3....

python 刪除list中某所有元素

突然記起來一年前剛入行時,領導面試我時提的問題,刪除list中所有等於某個值的元素 比如 刪除 1,2,3,4,1,2,3,4,1,3,4 中所有的2元素 刪除元素常用 remove,pop 方法,remove可以直接刪除某個值 list.remove 1 但是每次只能刪除第乙個,且如果list中不...