婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 基于python for in if 連著寫與分開寫的區別說明

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

熱門標簽:江蘇客服外呼系統廠家 工廠智能電話機器人 千陽自動外呼系統 原裝電話機器人 清遠360地圖標注方法 在哪里辦理400電話號碼 西藏智能外呼系統五星服務 400電話申請服務商選什么 平頂山外呼系統免費

如下:

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做個實驗:

由上圖可以看出,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中在for循環中嵌套使用if和else語句的技巧
  • python中for in的用法詳解
  • Python for循環及基礎用法詳解

標簽:天水 日照 安慶 白城 隨州 股票 錦州 西安

巨人網絡通訊聲明:本文標題《基于python for in if 連著寫與分開寫的區別說明》,本文關鍵詞  基于,python,for,連著,寫,與,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《基于python for in if 連著寫與分開寫的區別說明》相關的同類信息!
  • 本頁收集關于基于python for in if 連著寫與分開寫的區別說明的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 武定县| 玉溪市| 永登县| 南投县| 从江县| 德格县| 出国| 三河市| 泌阳县| 江西省| 沧源| 蒙山县| 高青县| 濮阳县| 五常市| 博野县| 翁牛特旗| 合川市| 伊宁市| 古田县| 铜陵市| 大关县| 陈巴尔虎旗| 辉县市| 乌兰浩特市| 焉耆| 洛宁县| 鄂托克前旗| 临江市| 衡阳市| 阿巴嘎旗| 綦江县| 区。| 原阳县| 江达县| 阳信县| 随州市| 嘉祥县| 铁岭县| 吉隆县| 曲靖市|