亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解Python遍歷列表時(shí)刪除元素的正確做法

 更新時(shí)間:2021年01月07日 09:00:23   作者:此生小會(huì)  
這篇文章主要介紹了詳解Python遍歷列表時(shí)刪除元素的正確做法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一.問(wèn)題描述

 這是在工作中遇到的一段代碼,原理大概和下面類似(判斷某一個(gè)元素是否符合要求,不符合刪除該元素,最后得到符合要求的列表):

a = [1,2,3,4,5,6,7,8]
for i in a:
  if i>5:
    pass
  else:
    a.remove(i)
  print(a)

運(yùn)行結(jié)果:

二.問(wèn)題分析

因?yàn)閯h除元素后,整個(gè)列表的元素會(huì)往前移動(dòng),而i卻是在最初就已經(jīng)確定了,是不斷增大的,所以并不能得到想要的結(jié)果。

三.解決方法

1.遍歷在新的列表操作,刪除是在原來(lái)的列表操作

a = [1,2,3,4,5,6,7,8]
print(id(a)) 
print(id(a[:])) 
for i in a[:]:
  if i>5:
    pass
  else:
    a.remove(i)
  print(a)
print('-------------------------')
print(id(a))

運(yùn)行結(jié)果:

2.filter

內(nèi)建函數(shù)filter()官方文檔參考:https://docs.python.org/3/library/functions.html#filter

a = [1,2,3,4,5,6,7,8]
b = filter(lambda x: x>5,a)
print(list(b))

運(yùn)行結(jié)果:

3.列表解析

a = [1,2,3,4,5,6,7,8]
b = [i for i in a if i >5]
print(b)

運(yùn)行結(jié)果:

4.倒序刪除

因?yàn)榱斜砜偸恰跋蚯耙啤保钥梢缘剐虮闅v,即使后面的元素被修改了,還沒(méi)有被遍歷的元素和其坐標(biāo)還是保持不變的。

a = [1,2,3,4,5,6,7,8]
print(id(a))
for i in range(len(a)-1,-1,-1):
  if a[i] > 5:
    pass
  else:
    a.remove(a[i])
print(id(a))
print('--------------------')
print(a)

運(yùn)行結(jié)果:

到此這篇關(guān)于詳解Python遍歷列表時(shí)刪除元素的正確做法的文章就介紹到這了,更多相關(guān)Python遍歷列表刪除元素內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python opencv圖像處理(素描、懷舊、光照、流年、濾鏡 原理及實(shí)現(xiàn))

    python opencv圖像處理(素描、懷舊、光照、流年、濾鏡 原理及實(shí)現(xiàn))

    這篇文章主要介紹了python 基于opencv對(duì)圖像進(jìn)行各種處理,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • python -v 報(bào)錯(cuò)問(wèn)題的解決方法

    python -v 報(bào)錯(cuò)問(wèn)題的解決方法

    在本篇文章里小編給大家整理了關(guān)于python -v 報(bào)錯(cuò)問(wèn)題的解決方法及相關(guān)知識(shí)點(diǎn),有興趣的朋友們可以學(xué)習(xí)下。
    2020-09-09
  • PYQT5 實(shí)現(xiàn)界面的嵌套方式

    PYQT5 實(shí)現(xiàn)界面的嵌套方式

    這篇文章主要介紹了PYQT5 實(shí)現(xiàn)界面的嵌套方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • Python創(chuàng)建日歷實(shí)例

    Python創(chuàng)建日歷實(shí)例

    這篇文章主要介紹了Python創(chuàng)建日歷實(shí)例,不使用Python提供的calendar實(shí)現(xiàn),需要的朋友可以參考下
    2014-08-08
  • python實(shí)現(xiàn)zip分卷壓縮的詳細(xì)方法

    python實(shí)現(xiàn)zip分卷壓縮的詳細(xì)方法

    WinHex 開(kāi)始16進(jìn)制一個(gè)一個(gè)文件對(duì)比 WinRar 創(chuàng)建的分卷壓縮和單個(gè) zip 文件的差異,這篇文章主要介紹了python實(shí)現(xiàn)zip分卷壓縮的詳細(xì)方法,需要的朋友可以參考下
    2024-02-02
  • Python報(bào)錯(cuò)TypeError: unsupported operand的問(wèn)題分析和解決方法

    Python報(bào)錯(cuò)TypeError: unsupported operand的問(wèn)題分析和解決方法

    TypeError: unsupported operand 是Python中常見(jiàn)的一類錯(cuò)誤,通常在嘗試對(duì)不兼容的數(shù)據(jù)類型進(jìn)行操作時(shí)發(fā)生,比如,當(dāng)你嘗試對(duì)字符串和整數(shù)進(jìn)行加法操作時(shí),Python會(huì)拋出這一錯(cuò)誤,所以本文給大家介紹了Python報(bào)錯(cuò)TypeError: unsupported operand的問(wèn)題解決
    2024-09-09
  • 詳細(xì)介紹Scrapy?shell的使用教程

    詳細(xì)介紹Scrapy?shell的使用教程

    Scrapy?shell是一個(gè)非常有用的工具,可以幫助開(kāi)發(fā)者快速地測(cè)試和調(diào)試Scrapy的爬蟲代碼,這篇文章主要介紹了詳細(xì)介紹Scrapy?shell的使用,需要的朋友可以參考下
    2023-05-05
  • Python深入淺出分析元類

    Python深入淺出分析元類

    在Python里一切都是對(duì)象(object),基本數(shù)據(jù)類型,如數(shù)字,字符串,函數(shù)都是對(duì)象。對(duì)象可以由類(class)進(jìn)行創(chuàng)建。那么既然一切都是對(duì)象,那么類是對(duì)象嗎?是的,類也是對(duì)象,那么又是誰(shuí)創(chuàng)造了類呢?答案也很簡(jiǎn)單,也是類,一個(gè)能創(chuàng)作類的類,稱之為(type)元類
    2022-07-07
  • python&MongoDB爬取圖書館借閱記錄

    python&MongoDB爬取圖書館借閱記錄

    這篇文章主要介紹了python&MongoDB爬取圖書館借閱記錄的相關(guān)資料,需要的朋友可以參考下
    2016-02-02
  • wxpython多線程防假死與線程間傳遞消息實(shí)例詳解

    wxpython多線程防假死與線程間傳遞消息實(shí)例詳解

    今天小編就為大家分享一篇wxpython多線程防假死與線程間傳遞消息實(shí)例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12

最新評(píng)論