python list 刪除元素

num_list = [1, 2, 2, 3, 4, 5]為例。

刪除一個(gè)可以確定的元素,一共有三種方法。

  1. num_list.remove(2),會(huì)刪除第一個(gè)值為2的元素。
  2. num_list.pop(1),會(huì)彈出索引為1的元素,若不傳參數(shù),則彈出最后一個(gè)元素。
  3. del num_list[1],會(huì)刪除索引為1的元素。
  4. 還可以使用切片來達(dá)到目的,屬于重新構(gòu)造一個(gè)新的列表。

刪除一個(gè)符合條件的元素。

for i, item in enumerate(num_list):
    if item == 2:
        num_list.pop(i)
    else:
        print(item)

結(jié)果是:

1
3
4
5

再查看下num_list,發(fā)現(xiàn)是[1,2,3,4,5],值為2的元素只刪除了第一個(gè)。

原因是當(dāng)刪除第一個(gè)值為2的元素時(shí),列表往前移動(dòng)一位,導(dǎo)致第二個(gè)2直接被跳過了。

解決辦法是反向,這樣可以避免出現(xiàn)此問題。

for i in range(len(num_list) - 1, -1, -1):
    if num_list[i] == 2:
        num_list.pop(i)
    else:
        print(num_list[i]) 

結(jié)果是:

5
4
3
1

另外,還有方法可達(dá)成目的,但是會(huì)增加內(nèi)存使用。

[item for item in num_list if item != 2]

def f():
    for item in num_list:
        if item != 2:
            yield item
list(f())
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 列表: 有序的可變的元素集合 定義: 方式1[元素1, 元素2, 元素3...]例如: [1, 2, 3, 4, ...
    伯wen閱讀 383評(píng)論 0 0
  • 1 Redis介紹1.1 什么是NoSql為了解決高并發(fā)、高可擴(kuò)展、高可用、大數(shù)據(jù)存儲(chǔ)問題而產(chǎn)生的數(shù)據(jù)庫(kù)解決方...
    克魯?shù)吕?/span>閱讀 5,717評(píng)論 0 36
  • 8月22日-----字符串相關(guān) 2-3 個(gè)性化消息: 將用戶的姓名存到一個(gè)變量中,并向該用戶顯示一條消息。顯示的消...
    future_d180閱讀 1,032評(píng)論 0 1
  • ORA-00001: 違反唯一約束條件 (.) 錯(cuò)誤說明:當(dāng)在唯一索引所對(duì)應(yīng)的列上鍵入重復(fù)值時(shí),會(huì)觸發(fā)此異常。 O...
    我想起個(gè)好名字閱讀 5,963評(píng)論 0 9
  • 小時(shí)候盼過年,因?yàn)橐贿^年有好吃的,又新衣服穿,有煙花爆竹放,還有一家人圍著桌子邊看春晚邊包餃子。 ...
    七月的桃之妖妖閱讀 546評(píng)論 1 5

友情鏈接更多精彩內(nèi)容