校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識(shí)庫 > 基于python for in if 連著寫與分開寫的區(qū)別說明

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

熱門標(biāo)簽:江蘇客服外呼系統(tǒng)廠家 工廠智能電話機(jī)器人 千陽自動(dòng)外呼系統(tǒng) 原裝電話機(jī)器人 清遠(yuǎn)360地圖標(biāo)注方法 在哪里辦理400電話號(hào)碼 西藏智能外呼系統(tǒng)五星服務(wù) 400電話申請服務(wù)商選什么 平頂山外呼系統(tǒng)免費(fèi)

如下:

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):

由上圖可以看出,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è)陷阱比較隱蔽,我再用白盒子測試的時(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è)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Python中在for循環(huán)中嵌套使用if和else語句的技巧
  • python中for in的用法詳解
  • Python for循環(huán)及基礎(chǔ)用法詳解

標(biāo)簽:天水 日照 安慶 白城 隨州 股票 錦州 西安

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《基于python for in if 連著寫與分開寫的區(qū)別說明》,本文關(guān)鍵詞  基于,python,for,連著,寫,與,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《基于python for in if 連著寫與分開寫的區(qū)別說明》相關(guān)的同類信息!
  • 本頁收集關(guān)于基于python for in if 連著寫與分開寫的區(qū)別說明的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 廉江市| 唐河县| 东明县| 怀远县| 杨浦区| 阆中市| 临澧县| 大庆市| 石狮市| 新巴尔虎左旗| 信丰县| 福鼎市| 定州市| 双辽市| 北辰区| 陇西县| 玉溪市| 大悟县| 镶黄旗| 罗平县| 界首市| 沅江市| 荃湾区| 太康县| 甘泉县| 涞源县| 东丰县| 柏乡县| 南城县| 印江| 固原市| 贺州市| 平湖市| 合川市| 衢州市| 通海县| 凤翔县| 合山市| 英山县| 昌乐县| 梅州市|