婷婷综合国产,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 連著寫與分開寫的區別說明的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 宜州市| 汾阳市| 赫章县| 忻州市| 克什克腾旗| 祁东县| 呼伦贝尔市| 沂源县| 湘阴县| 宜春市| 阜南县| 巴彦淖尔市| 汉沽区| 青海省| 龙州县| 巢湖市| 江源县| 呼伦贝尔市| 祥云县| 瑞安市| 丰顺县| 嘉祥县| 辽阳市| 施甸县| 保康县| 建始县| 沁阳市| 淮安市| 宾川县| 元谋县| 电白县| 德惠市| 贡山| 于田县| 安徽省| 肥城市| 南昌市| 昌黎县| 衡阳县| 武宣县| 延川县|