亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

瀏覽:2日期: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會出現錯誤的結果for link in get_links(html): if re.match(link_regex, link): links.append(link)

讓我們用ipython做個實驗:

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

由上圖可以看出,for in if 連擊推導式隱式的將link由str轉變為了list,而分開寫是不會幫我們轉換的,所以需要使用append把整個str加入到list.

補充:python的for i in list 陷阱

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

結果是 :

[2, 4]

這個陷阱比較隱蔽,我再用白盒子測試的時候,發現了這個bug,大致原因就是remove d[0]之后,i 自動變成了 d[1], 但是 d已經變成了 d[2,3,4,5],所以i=d[1]就悲催的指向了3,跳過了2!

看來python還是要注意了解底層實現啊!

解決辦法是

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

就可以實現邊遍歷邊刪除了

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 免费精品精品国产欧美在线 | 在线观看亚洲专3333 | 色综合在 | 麻豆国产一区二区在线观看 | 国产乱码精品一区二区三区卡 | 国产毛片a精品毛 | 99热国产这里只有精品9九 | 午夜撸| 青青青国产观看免费视频 | 欧美叼嘿| 国产精品日本一区二区在线播放 | 2018高清国产一道国产 | 插插插av | 日本高清动作片www网站免费 | 玖玖99视频 | 国产在线观看网址在线视频 | 欧美在线视频网站 | 国产福利一区二区三区视频在线 | 免费观看欧美一级牲片一 | 亚洲日韩中文字幕 | 日本黄大片免播放视播放器 | 国产高清www免费视频 | 一及黄色片 | 韩国免费毛片在线看 | 在线看片欧美 | 免费播放观看视频大片 | 国产精品嫩草研究院成人 | 一级做a爰视频免费观看2019 | 美女色影院 | 亚洲qingse| 国产高清免费在线 | 国产v国产v片大片线观看网站 | 婷婷丁香色综合狠狠色 | 色婷婷六月天 | 人妖videos人妖xxxx| 日韩区在线观看 | 亚洲另类在线观看 | 色天天色综合 | 日韩在线视频中文字幕 | 国产精品_国产精品_国产精品 | 久久婷婷激情 |