欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2021年03月25日 10:36:35   作者:woailyoo0000  
這篇文章主要介紹了基于python for in if 連著寫與分開寫的區(qū)別說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

如下:

links.extend(link for link in get_links(html) if re.match(link_regex, link))
# 上面的語句分開寫,如下
# 但下面需要使用links.append,如果依然使用links.extend會出現(xiàn)錯誤的結(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,而分開寫是不會幫我們轉(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[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è)參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • Python?運(yùn)行?shell?命令的方法匯總

    Python?運(yùn)行?shell?命令的方法匯總

    這篇文章主要介紹了Python運(yùn)行shell命令的一些方法,我們來看一下 python 中有哪些自帶模塊或者方法可以實(shí)現(xiàn),對Python運(yùn)行shell命令感興趣的朋友跟隨小編一起看看吧
    2023-07-07
  • python中賦值語句的特點(diǎn)和形式

    python中賦值語句的特點(diǎn)和形式

    這篇文章主要介紹了python中賦值語句的特點(diǎn)和形式,文中介紹了多目標(biāo)賦值的共享引用問題,多目標(biāo)賦值其實(shí)是多個(gè)目標(biāo)對同一個(gè)內(nèi)存空間的引用,這里要分兩種情況,當(dāng)被引用對象是不可變對象時(shí)則不存在問題,感興趣的朋友跟隨小編一起看看吧
    2023-12-12
  • Python隨機(jī)生成一個(gè)6位的驗(yàn)證碼代碼分享

    Python隨機(jī)生成一個(gè)6位的驗(yàn)證碼代碼分享

    這篇文章主要介紹了Python隨機(jī)生成一個(gè)6位的驗(yàn)證碼代碼分享,本文直接給出代碼實(shí)例,需要的朋友可以參考下
    2015-03-03
  • python中pygame安裝過程(超級詳細(xì))

    python中pygame安裝過程(超級詳細(xì))

    這篇文章主要介紹了python中pygame安裝過程(超級詳細(xì)),非常不錯,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python正則表達(dá)式教程之一:基礎(chǔ)篇

    Python正則表達(dá)式教程之一:基礎(chǔ)篇

    正則表達(dá)式并不是Python的一部分。正則表達(dá)式是用于處理字符串的強(qiáng)大工具,擁有自己獨(dú)特的語法以及一個(gè)獨(dú)立的處理引擎,效率上可能不如str自帶的方法,但功能十分強(qiáng)大。下面這篇文章主要介紹了關(guān)于Python正則表達(dá)式基礎(chǔ)的相關(guān)資料,需要的朋友可以參考下。
    2017-03-03
  • Python?局部變量global詳解

    Python?局部變量global詳解

    這篇文章主要介紹了Python?局部變量global詳解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • python3中編碼獲取網(wǎng)頁的實(shí)例方法

    python3中編碼獲取網(wǎng)頁的實(shí)例方法

    在本篇文章里小編給大家整理了一篇關(guān)于python3中編碼獲取網(wǎng)頁的實(shí)例方法,有興趣的朋友們可以學(xué)習(xí)下。
    2020-11-11
  • python輸出帶顏色字體實(shí)例方法

    python輸出帶顏色字體實(shí)例方法

    在本篇文章里小編給大家整理了關(guān)于python輸出帶顏色字體實(shí)例以及相關(guān)代碼,有需要的朋友們可以學(xué)習(xí)參考下。
    2019-09-09
  • python學(xué)習(xí) 流程控制語句詳解

    python學(xué)習(xí) 流程控制語句詳解

    下面小編就為大家?guī)硪黄猵ython學(xué)習(xí) 流程控制語句詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-06-06
  • Python列表計(jì)數(shù)及插入實(shí)例

    Python列表計(jì)數(shù)及插入實(shí)例

    這篇文章主要介紹了Python列表計(jì)數(shù)及插入的用法,以實(shí)例形式對列表的計(jì)數(shù)與插入用法做了較為詳細(xì)的分析,需要的朋友可以參考下
    2014-12-12

最新評論