最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python3列表刪除大量重復(fù)元素remove()方法的問題詳解

 更新時(shí)間:2021年01月04日 10:38:20   作者:菠菜貓  
這篇文章主要給大家介紹了關(guān)于python3列表刪除大量重復(fù)元素remove()方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

刪除列表中的元素十分簡(jiǎn)單,有很多方法。使用最多的是remove方法,remove() 方法從集合中刪除指定的元素。此方法與discard()方法不同,因?yàn)槿绻付ǖ捻?xiàng)目不存在,remove() 方法將引發(fā)錯(cuò)誤,而discard()方法不會(huì)。但是今天剛發(fā)現(xiàn)一個(gè)問題,remove在刪除列表中重復(fù)的元素時(shí),有時(shí)會(huì)漏掉,只刪除了部分重復(fù)元素。

下面舉一個(gè)例子:

刪除num1列表中的0元素,思路就是遍歷列表,然后刪除元素。

期望輸出:nums1 = [1, 2, 3]

實(shí)際輸出:nums1 = [1, 2, 3, 0]

經(jīng)過搜索后發(fā)現(xiàn),出現(xiàn)以上問題的原因在于,列表的內(nèi)存自動(dòng)管理功能,在刪除列表中的元素時(shí),python會(huì)自動(dòng)對(duì)列表內(nèi)存進(jìn)行收縮,并移動(dòng)列表中的元素以保證元素之間沒有間隙,所以使用“循環(huán)+remove()方法”來刪除列表中某一重復(fù)元素時(shí),如果存在相鄰的該元素,在刪除前面一個(gè)元素后,后一個(gè)元素會(huì)被移動(dòng)到剛被刪除的這個(gè)元素的位置,這樣這個(gè)元素就“躲過了刪除”

#刪除num1列表中的0
nums1 = [1, 2, 3, 0, 0, 0]
  for j in nums1:
  if j == 0:
   nums1.remove(j)

解決辦法:

對(duì)于以上問題,解決思路是統(tǒng)計(jì)列表中重復(fù)的元素,若重復(fù)元素的個(gè)數(shù)大于0,則進(jìn)行remove。

 nums1 = [1, 2, 3, 0, 0, 0] 
 while nums1.count(0) > 0:
  for j in nums1:
   if j == 0:
   nums1.remove(j)

參考文章:http://www.fzitv.net/article/203398.htm

總結(jié)

到此這篇關(guān)于python3列表刪除大量重復(fù)元素remove()方法的文章就介紹到這了,更多相關(guān)python3列表刪除大量重復(fù)元素內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

梅州市| 信阳市| 清涧县| 乡宁县| 绥宁县| 衡山县| 特克斯县| 临邑县| 舞阳县| 武胜县| 舞阳县| 濉溪县| 井陉县| 塔河县| 剑川县| 永丰县| 天祝| 临高县| 嘉兴市| 雷波县| 河津市| 上蔡县| 镇雄县| 高清| 巴南区| 延庆县| 高安市| 会东县| 广汉市| 左贡县| 酉阳| 丽水市| 顺平县| 宜兰市| 阳曲县| 唐山市| 株洲市| 普陀区| 翁牛特旗| 舟曲县| 来凤县|