午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

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

基于python for in if 連著寫與分開寫的區(qū)別說明

瀏覽:16日期:2022-06-24 09:53:38
如下:

links.extend(link for link in get_links(html) if re.match(link_regex, link))# 上面的語句分開寫,如下# 但下面需要使用links.append,如果依然使用links.extend會(huì)出現(xiàn)錯(cuò)誤的結(jié)果for link in get_links(html): if re.match(link_regex, link): links.append(link)

讓我們用ipython做個(gè)實(shí)驗(yàn):

基于python for in if 連著寫與分開寫的區(qū)別說明

由上圖可以看出,for in if 連擊推導(dǎo)式隱式的將link由str轉(zhuǎn)變?yōu)榱薼ist,而分開寫是不會(huì)幫我們轉(zhuǎn)換的,所以需要使用append把整個(gè)str加入到list.

補(bǔ)充:python的for i in list 陷阱

d = [1,2,3,4,5]for i in d: d.remove(i)print d

結(jié)果是 :

[2, 4]

這個(gè)陷阱比較隱蔽,我再用白盒子測(cè)試的時(shí)候,發(fā)現(xiàn)了這個(gè)bug,大致原因就是remove d[0]之后,i 自動(dòng)變成了 d[1], 但是 d已經(jīng)變成了 d[2,3,4,5],所以i=d[1]就悲催的指向了3,跳過了2!

看來python還是要注意了解底層實(shí)現(xiàn)啊!

解決辦法是

d = [1,2,3,4,5]for i in d[:]: d.remove(i)print d

就可以實(shí)現(xiàn)邊遍歷邊刪除了

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 亚洲自拍色图 | av网站在线免费看 | 东京热毛片 | 亚洲综合一二三 | 欧美激情专区 | 天堂av亚洲 | xxxxx国产| 日本va欧美va欧美va精品 | 日韩午夜在线 | 亚洲精品成 | 黄色av播放 | www在线视频| 中文亚洲欧美 | 国产精品国产三级国产aⅴ 国产三级福利 | 国产精品自产拍 | 国产精品第2页 | 日韩精品国产一区 | 99国产精品一区二区 | 久热香蕉视频 | 久久成人av | 毛片基地视频 | 99在线视频精品 | 国产精品视频在线播放 | 日皮网站 | 亚洲三级黄色 | 在线观看亚洲成人 | va婷婷在线免费观看 | 亚洲成人一二三区 | 圆产精品久久久久久久久久久 | 久久久999 | 欧美不卡影院 | 亚洲激情一区 | 久久久久免费观看 | 国产亚洲欧美一区 | 国产91精品一区二区绿帽 | 国产午夜在线观看 | 国产精品九九 | 久久久成人精品视频 | 一道本在线视频 | 久久综合久久88 | 天天射日|