亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

Python實現列表索引批量刪除的5種方法

瀏覽:6日期:2022-07-05 11:44:33

最近用Java做項目,使用到List broadcastInfos的 broadcastInfos.remove()方法,出現項目的重大失誤,因為第一次使用Java語言,過于相信remove()方法,所以,不加思索的就使用了來刪除list對象中的指定元素。

背景:目標對象 listObj:[3, 4, 5, 6]刪除指定索引列表 indexList: [1, 2]返回結果: [3, 6]常見錯誤:

for listElement in listObj:for index in indexList:if listElement == listObj[index]:listObj.remove(listElement)

返回結果

Python實現列表索引批量刪除的5種方法

這種結果,既不會報錯,返回值也與目標極為相似,返回2個值list對象,len(listObj)-2 = 2,也是[3,… 開頭,如果不仔細看好像沒什么問題。但是結果卻是錯誤的。

將 listObj.remove() 改為listObj.pop(index)結果也是相同的。

Python實現列表索引批量刪除的5種方法

Java用同樣的編程思想,得到的結果也有相似性。這種錯誤,主要是初學者對于數據存儲原理沒有理解清楚,或者,沒有意識到內存存儲長度的動態變化導致的, 下面介紹幾種Python刪除指定列表索引的方法

a = [3, 4, 5, 6]b = [1,2] # b 中為 a的索引# 刪除a中下標為b中的元素# ====> [3, 6]# 方法一a = [a[i] for i in range(len(a)) if (i not in b)]print(a) # 重新生成滿足條件的list并賦值給 a # 方法二[ a.remove(cElement) for cElement in [a[i] for i in b]]print(a) # 強制使用 a.remove() 方法方式# 方法三a = {a[i] if i not in b else None for i in range(len(a))}a.remove(None) # 將要刪除的對象設置為默認值,# 前提是返回結果無序要求以及 純一種類型print(a)# 方法四m = {i:element for i, element in enumerate(a)}[m.pop(i) for i in b]print(list(m.values())) # 將每一個元素對象編碼,然后按指定的索引刪除, # 并返回 values() 集合對象 --> list對象# 方法五class ListSub: def __init__(self, list1=None): if list1 is None: self.listA = [] elif len(list1): self.listA = [x for x in list1] def __sub__(self, rhs): [self.listA.remove(cElement) for cElement in [self.listA[i] for i in rhs.listA]] return self.listAa = ListSub(a)b = ListSub(b)print(a-b) # 自己寫個類,既然Python 不支持 “-” 這個符號, # 而喜歡存儲索引的同學,自己寫個工具類,實現減法, # 返回自己想要的結果對象。

當然,以上的方式都只是純粹將方法的實現,沒有進行算法優化,以及相應的異常捕獲和處理,而Python的效率是有名的…, 所有大牛們請不要過多介懷。

方法其實還有很多,但就項目中出現的Java語法這種錯誤, 我就用Python 來反省一下自己,希望能幫到大家,謝謝。

最后,在學習其他語言的同時,才知道,Python有他語言的便捷之處,也有其他語言共有的缺憾,沒有語言基礎的使用者,坑尤其多(比如List類的使用),所以,還要廣學習,多對比,寫出集多種語言精華的代碼,然更多初學者將精力放在業務處理和程序的實現上。

到此這篇關于Python實現列表索引批量刪除的5種方法的文章就介紹到這了,更多相關Python 列表索引批量內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产精品永久免费自在线观看 | 久草综合视频在线 | 在线中文字日产幕 | www.亚洲视频 | 国产成人精品高清不卡在线 | 妖精www成人动漫在线观看 | 国产性生活 | 高清波多野结衣一区二区三区 | 日本美女高清在线观看免费 | 国产一区二区久久精品 | 波多野结衣在线观看高清免费资源 | 一级做a爰片久久毛片欧美 一级做a爰片久久毛片人呢 | 杨幂国产精品福利在线观看 | 沈樵在线观看福利 | 免费大片黄手机在线观看 | 97视频在线观看免费播放 | 国内精品伊人久久久影视 | 久久美女精品国产精品亚洲 | 亚洲精品视频在线看 | 亚洲国产成人久久综合一区 | 国产精品成人久久久久 | 亚洲欧美日韩视频一区 | 免费国产午夜高清在线视频 | 女人张开腿男人猛桶视频 | 亚洲欧美高清 | 亚洲视频免费一区 | 69成人| 久久久久久综合一区中文字幕 | 国产精品秒播无毒不卡 | 伊人狠狠丁香婷婷综合色 | 久久影院在线 | 亚洲自拍高清 | 免费一级毛片无毒不卡 | 波多野结衣在线观看高清免费资源 | 国产一区二区三区欧美 | 日本一区二区三区精品视频 | 欧美在线播放视频 | 国产日韩欧美在线一二三四 | 国产欧美日韩亚洲精品区2345 | 日韩免费观看一级毛片看看 | 网禁呦萝资源网站在线观看 |