remove全部 - python移除




如何通過Python中的索引從列表中刪除元素? (11)

如何通過Python中的索引從列表中刪除元素?

我找到了list.remove方法,但說我想刪除最後一個元素,我該怎麼做? 它似乎像默認刪除搜索列表,但我不希望執行任何搜索。


pop對從列表中刪除和保留項目也很有用。 del在哪裡實際上垃圾物品。

>>> x = [1, 2, 3, 4]

>>> p = x.pop(1)
>>> p
    2

l - 值列表; 我們必須從inds2rem列表中刪除索引。

l = range(20)
inds2rem = [2,5,1,7]
map(lambda x: l.pop(x), sorted(inds2rem, key = lambda x:-x))

>>> l
[0, 3, 4, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

你可以簡單地使用python的remove函數,就像這樣:

v=[1,2,3,4,5,6]
v.remove(v[4]) #I'm removing the number with index 4 of my array
print(v) #If you want verify the process

#it gave me this:
#[1,2,3,4,6]

你可能想要pop

a = ['a', 'b', 'c', 'd']
a.pop(1)

# now a is ['a', 'c', 'd']

默認情況下,不帶任何參數的pop刪除最後一項:

a = ['a', 'b', 'c', 'd']
a.pop()

# now a is ['a', 'b', 'c']

使用“del”功能:

del listName[-N]

例如,如果你想刪除最後3個項目,你的代碼應該是:

del listName[-3:]

例如,如果你想刪除最後8個項目,你的代碼應該是:

del listName[-8:]

使用以下代碼從列表中刪除元素:

list = [1, 2, 3, 4]
list.remove(1)
print(list)

output = [2, 3, 4]

如果要從列表中刪除索引元素數據,請使用:

list = [1, 2, 3, 4]
list.remove(list[2])
print(list)
output : [1, 2, 4]

另一種通過索引從列表中刪除元素的方法。

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

# remove the element at index 3
a[3:4] = []
# a is now [0, 1, 2, 4, 5, 6, 7, 8, 9]

# remove the elements from index 3 to index 6
a[3:7] = []
# a is now [0, 1, 2, 7, 8, 9]

a [x:y]指向從索引xy-1的元素。 當我們將這部分列表聲明為空列表( [] )時,這些元素將被刪除。


可以使用del或pop,但我更喜歡del,因為您可以指定索引和切片,使用戶可以更好地控制數據。

例如,從顯示的列表開始,可以用del刪除它的最後一個元素作為切片,然後可以使用pop從結果中刪除最後一個元素。

>>> l = [1,2,3,4,5]
>>> del l[-1:]
>>> l
[1, 2, 3, 4]
>>> l.pop(-1)
4
>>> l
[1, 2, 3]

您可以使用del或pop從基於索引的列表中刪除元素。 Pop將打印它從列表中刪除的成員,而列表刪除該成員而不打印它。

>>> a=[1,2,3,4,5]
>>> del a[1]
>>> a
[1, 3, 4, 5]
>>> a.pop(1)
 3
>>> a
[1, 4, 5]
>>> 

這取決於你想要做什麼。

如果你想返回你刪除的元素,使用pop()

>>> l = [1, 2, 3, 4, 5]
>>> l.pop(2)
3
>>> l
[1, 2, 4, 5]

但是,如果您只想刪除一個元素,請使用del

>>> l = [1, 2, 3, 4, 5]
>>> del l[2]
>>> l
[1, 2, 4, 5]

另外, del允許你使用切片(例如del[2:] )。


通常,我使用以下方法:

>>> myList = [10,20,30,40,50]
>>> rmovIndxNo = 3
>>> del myList[rmovIndxNo]
>>> myList
[10, 20, 30, 50]




list