日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

關(guān)于python中remove的一些坑小結(jié)

瀏覽:194日期:2022-06-30 14:53:17

前幾天,使用python時(shí)遇到這么一個(gè)需求,刪除一個(gè)列表中值為1的元素。我尋思著使用remove方法,但是remove方法只會(huì)刪除第一個(gè),于是我使用for循環(huán)去刪除。代碼和運(yùn)行結(jié)果如下:

關(guān)于python中remove的一些坑小結(jié)

當(dāng)時(shí)這個(gè)結(jié)果讓我很懵逼,為什么1沒(méi)有被刪除完?查了資料發(fā)現(xiàn),是for循環(huán)搗的鬼。因?yàn)閒or循環(huán)實(shí)際是循環(huán)的列表下標(biāo)(索引),同時(shí)由于列表的可變性,每一次刪除一個(gè)元素,列表的長(zhǎng)度就會(huì)發(fā)生變化,元素的索引也會(huì)發(fā)生變化。這里來(lái)具體分析一下這段代碼:

第一次循環(huán),循環(huán)索引為0,此時(shí)索引為0的元素是1,滿足條件,因此mylist中的第一個(gè)1被刪除,此時(shí)mylist變?yōu)閇1,2,1,1,3,4];

第二次循環(huán),循環(huán)索引為1,此時(shí)新列表中,索引為1的元素是2,不滿足條件,mylist仍然為[1,2,1,1,3,4];

第三次循環(huán),循環(huán)索引為2,此時(shí)列表中,索引為2的元素是1,滿足條件,remove方法會(huì)再次刪除一個(gè)1,但是remove會(huì)刪除第一次出現(xiàn)的1(即刪除索引為0的那個(gè)1),因此列表變?yōu)閇2,1,1,3,4];

第四次循環(huán),循環(huán)索引為3,新列表中,索引為3的元素是3,不滿足條件,mylist仍然為[2,1,1,3,4];

第五次循環(huán),循環(huán)索引為4,此時(shí)列表中,索引為4的元素是4,不滿足條件,mylist仍然為[2,1,1,3,4];

此時(shí),由于新列表長(zhǎng)度為5,于是循環(huán)結(jié)束。

下面的截圖結(jié)果能夠很直觀的看出來(lái)。

關(guān)于python中remove的一些坑小結(jié)

至此,如果是這樣的一段代碼,結(jié)果應(yīng)該是怎樣?

關(guān)于python中remove的一些坑小結(jié)

最終mylist=[’b’,’d’],怎么樣,和你計(jì)算的值是否一樣?

回到最初的需求,要怎樣才能刪除所有的1,這里可以使用deepcopy來(lái)復(fù)制一份,之后一個(gè)列表用于循環(huán),一個(gè)用于移除值。代碼和結(jié)果如下:

關(guān)于python中remove的一些坑小結(jié)

這樣就可以實(shí)現(xiàn)刪除列表中的所有值為1的元素。這里可能有人會(huì)問(wèn),為什么不直接將l1賦值給一個(gè)變量,即l2=l1,這里涉及到引用和深淺復(fù)制的問(wèn)題,因此不在此處解答

附:Python列表的remove方法的注意事項(xiàng)

關(guān)于python中remove的一些坑小結(jié)

為何沒(méi)有刪除列表中的全部元素?

解釋:

按照?qǐng)?zhí)行順序,第一個(gè)空格被刪除之后,后面的元素會(huì)前移(變成[’空格’,’空格’,’12’,’23’]),指針下一次會(huì)指向新列表的第二個(gè)元素(即初始狀態(tài)的第三個(gè)空格),從而初始狀態(tài)的第二個(gè)空格被跳過(guò)了,初始第三個(gè)空格被刪除,接著后面的元素又再次前移(變成[’空格’,’12’,’23’]),指針指向新列表的第三個(gè)元素,即初始狀態(tài)的第5個(gè)元素23,然后23被刪除了,因此只剩下[’空格’,’12’]

如果想排除初始列表中的部分元素,如何實(shí)現(xiàn)?

由上面的情況知道,在遍歷列表的同時(shí)對(duì)列表執(zhí)行刪除操作,會(huì)造成意外的結(jié)果,那么對(duì)初始列表進(jìn)行遍歷,對(duì)初始的列表的副本執(zhí)行刪除操作呢?

關(guān)于python中remove的一些坑小結(jié)

以上結(jié)果顯示,沒(méi)有得到預(yù)期效果。為什么?

問(wèn)題出在copy=ls這一句,這里僅僅是使得copy與ls指向了同一片內(nèi)存(即淺拷貝,shallow copy),并沒(méi)有執(zhí)行【開(kāi)辟一片新內(nèi)存,并且ls內(nèi)存中的內(nèi)容復(fù)制到新內(nèi)存,然后使copy指向新開(kāi)辟的內(nèi)存,即深拷貝,deep copy】這一系列操作。因此對(duì)copy執(zhí)行的remove操作,和對(duì)遍歷ls列表,實(shí)質(zhì)上還是都是針對(duì)同一片內(nèi)存進(jìn)行操作,因此結(jié)果上一個(gè)例子類似。

若想解決這一問(wèn)題,有3個(gè)辦法法:

(1)

ls=[’ ’,’ ’,’ ’,’12’,’23’,’abc’,’aa’]copy=[’ ’,’ ’,’ ’,’12’,’23’,’abc’,’aa’]

這一辦法對(duì)于已知列表的所有元素,且元素?cái)?shù)量較少,結(jié)構(gòu)較簡(jiǎn)單時(shí)可行,其他情況下不可行。

(2)引入copy模塊的deepcopy方法:

關(guān)于python中remove的一些坑小結(jié)

(3)另外準(zhǔn)備一個(gè)空列表,遍歷初始列表時(shí),將符合條件的元素逐一加入到空列表當(dāng)中(利用列表的append方法)。

這種方法,思路上與remove方法相反,但執(zhí)行的操作差不多,時(shí)間復(fù)雜度也與remove方法差不多,無(wú)需引入copy模塊。

另外,對(duì)于列表的remove方法,python基礎(chǔ)教程第二版給出的說(shuō)明是:

remove方法用于移除列表中某個(gè)值的第一個(gè)匹配項(xiàng):

>>>x=[’to’,’be’,’or’,’not’,’to’,’be’]>>>x.remove(’be’)>>>x[’to’,’or’,’not’,’to’,’be’]

到此這篇關(guān)于python中remove的一些坑小結(jié)的文章就介紹到這了,更多相關(guān)python中remove的坑內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美福利一区| 久久超级碰碰| 日韩av首页| 亚洲成av人片一区二区密柚| 日韩不卡视频在线观看| 不卡在线一区二区| 免费精品视频在线| 久久国产三级精品| 国内精品麻豆美女在线播放视频| 国产亚洲字幕| 精品国产一区二| 秋霞影视一区二区三区| 狠狠色综合网| 日本成人手机在线| 老司机精品视频网| 日产精品一区| 喷白浆一区二区| 欧美激情亚洲| 婷婷成人综合| 日本欧美一区| 欧美一区久久久| 亚洲神马久久| 国产精品免费不| 欧美日中文字幕| 欧美日韩调教| av中文资源在线资源免费观看| 亚洲精品一二三区区别| 国产日韩一区二区三区在线 | 国产精品亚洲人成在99www| 亚州av乱码久久精品蜜桃| 视频一区日韩精品| 国产一区丝袜| 日av在线不卡| 精品国产亚洲一区二区三区大结局| 久久精品亚洲欧美日韩精品中文字幕| 鲁大师成人一区二区三区| 日本亚洲视频| 日本蜜桃在线观看视频| 日本亚洲三级在线| 久久高清精品| 国产精品亚洲产品| 亚洲激情偷拍| 水蜜桃久久夜色精品一区| 综合国产在线| 亚洲91视频| 美日韩一区二区三区| 丝袜诱惑制服诱惑色一区在线观看| 麻豆国产精品视频| 综合亚洲视频| 欧美日韩在线网站| 麻豆一区在线| 日韩一区精品视频| 视频福利一区| 精品日产乱码久久久久久仙踪林| 亚洲人成在线影院| 婷婷激情图片久久| 另类专区亚洲| 久久精品资源| 奇米狠狠一区二区三区| 夜久久久久久| 欧美日韩在线播放视频| 久久精品国产成人一区二区三区| 久久国产99| 99tv成人| 国产拍在线视频| 国产情侣久久| 免费在线欧美视频| 日本久久成人网| 粉嫩av一区二区三区四区五区| 日本久久一区| 免费不卡在线观看| 亚洲激情精品| 91成人精品视频| 国产v综合v| 日韩在线观看中文字幕| 久热精品在线| 蜜乳av另类精品一区二区| 久久久777| 一区二区三区四区日本视频| 国产精品久久久久久av公交车| 天堂俺去俺来也www久久婷婷| 日韩一级欧洲| 日韩欧美另类一区二区| 欧美成人基地| 不卡中文字幕| 国产视频一区三区| 亚洲黄页一区| 免费看日韩精品| 免费在线观看一区二区三区| 伊人久久亚洲热| 最新国产拍偷乱拍精品| 亚洲国产日韩欧美在线| 欧美精品一二| 国产婷婷精品| 日欧美一区二区| 国产欧美一区二区色老头| 国产精品视频首页| 欧美日韩亚洲国产精品| 国产欧美日韩免费观看| 青青草精品视频| 国产精品xvideos88| 欧美激情日韩| 国产精品蜜芽在线观看| 国产夫妻在线| 亚洲国内欧美| 国产视频久久| 中文字幕日本一区二区| 亚洲三级网址| 久久国产人妖系列| 精品国产aⅴ| 成人久久一区| 亚洲少妇诱惑| 蜜臀a∨国产成人精品| 日本成人中文字幕在线视频| 欧美另类中文字幕| 久久久久亚洲精品中文字幕| 亚洲免费福利| 欧美在线资源| 日本中文字幕一区二区视频| 国产精品nxnn| 亚洲不卡系列| 免费看黄色91| 欧美激情日韩| 欧美日韩黑人| 国产精品一区二区三区av麻| 日韩大片在线| 亚欧成人精品| 美腿丝袜在线亚洲一区| 久久国产毛片| 亚洲影院天堂中文av色| 国产精品视频一区二区三区四蜜臂 | 亚洲五月婷婷| 综合激情网站| 麻豆久久一区| 国产高清一区| 欧美极品一区二区三区| 性欧美xxxx免费岛国不卡电影| 亚洲午夜国产成人| 欧美日韩a区| 久久电影tv| 亚洲精品麻豆| zzzwww在线看片免费| 亚洲综合电影一区二区三区| 国产精品免费精品自在线观看| 久久久国产精品一区二区中文| 日韩三级久久| 伊人久久大香线蕉av不卡| 91福利精品在线观看| 午夜欧美巨大性欧美巨大| 综合在线一区| 久久精品欧美一区| 国产精品久久777777毛茸茸| 欧美精品一二| 国产亚洲久久| 国产精品腿扒开做爽爽爽挤奶网站| 国产欧美三级| 在线国产一区| 国产精品黑丝在线播放| 亚洲精品影视| 亚洲午夜久久久久久尤物 | 日韩高清不卡一区| 1000部精品久久久久久久久| 国产高清精品二区| 视频一区欧美精品| 中文字幕人成乱码在线观看| 日韩精品免费观看视频| 亚洲二区在线| 国产视频一区二| 中文不卡在线| 久久一区二区三区喷水| 国产精品亚洲欧美一级在线| 日韩精品一二区| 亚洲高清av| 高清精品久久| 国产欧美自拍| 婷婷亚洲成人| 免费成人在线影院| 日韩精品一区二区三区免费观影| 久久久国产精品网站| 婷婷成人av| 美女精品网站| 红桃视频欧美| 国产精品久久观看| 久久久久亚洲精品中文字幕| 日韩高清欧美激情| 伊人久久大香伊蕉在人线观看热v| 日韩电影免费网站| 精品视频一区二区三区在线观看| 日韩精品福利一区二区三区| 亚洲作爱视频| 亚洲精品一二三区区别| 日韩在线短视频| 日韩在线第七页| 美女av在线免费看| 国精品产品一区| 精品中国亚洲| 国产aⅴ精品一区二区三区久久| 亚欧洲精品视频在线观看| 免费观看在线综合色| 亚洲午夜国产成人|