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

Python中循環(huán)后使用list.append()數(shù)據(jù)被覆蓋問題的解決

 更新時(shí)間:2018年07月01日 16:39:15   作者:iqunqunqun  
這篇文章主要給大家介紹了關(guān)于Python中循環(huán)后使用list.append()數(shù)據(jù)被覆蓋問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

最近發(fā)現(xiàn)一個(gè)問題,在一次爬蟲實(shí)戰(zhàn)中,需要將字典加入列表中,意外的情況出現(xiàn)了?。?!下面簡單分析一下出現(xiàn)的狀況:

list = []
dic = {}
for i in range(5):
 dic['num'] = i
 list.append(dic)
 print(id(dic))
print(list)
136652096
136652096
136652096
136652096
136652096
[{'num': 4}, {'num': 4}, {'num': 4}, {'num': 4}, {'num': 4}]

結(jié)果出乎意料,并不是我們簡單認(rèn)為的

[{'num': 0}, {'num': 1}, {'num': 2}, {'num': 3}, {'num': 4}]

用我自己的理解是:

如上圖,每一個(gè)dic都給list一個(gè)位置,但你的dic在循環(huán)外,也就說每次循環(huán)你給的都是一個(gè)地址,dic的值改變,新一次的循環(huán)值就會(huì)覆蓋上一次循環(huán)的值,list取到的值也改變。

正確做法:

list = []
for i in range(5):
 dic = {}
 dic['num'] = i
 list.append(dic)
 print(id(dic))
print(list)
138383888
136652192
138383408
138384272
138383792
[{'num': 0}, {'num': 1}, {'num': 2}, {'num': 3}, {'num': 4}]

正確做法是將dic放入循環(huán)內(nèi),這樣每次循環(huán)都會(huì)是一個(gè)新的dic,分配不同的地址。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Numpy安裝、升級(jí)與卸載的詳細(xì)圖文教程

    Numpy安裝、升級(jí)與卸載的詳細(xì)圖文教程

    Python官網(wǎng)上的發(fā)行版是不包含?NumPy?模塊的,下面這篇文章主要給大家介紹了關(guān)于Numpy安裝、升級(jí)與卸載的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • python提取包含關(guān)鍵字的整行數(shù)據(jù)方法

    python提取包含關(guān)鍵字的整行數(shù)據(jù)方法

    今天小編就為大家分享一篇python提取包含關(guān)鍵字的整行數(shù)據(jù)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python2.7.10以上pip更新及其他包的安裝教程

    Python2.7.10以上pip更新及其他包的安裝教程

    今天小編就為大家分享一篇Python2.7.10以上pip更新及其他包的安裝教程,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python實(shí)現(xiàn)遍歷子文件夾并將文件復(fù)制到不同的目標(biāo)文件夾

    Python實(shí)現(xiàn)遍歷子文件夾并將文件復(fù)制到不同的目標(biāo)文件夾

    這篇文章主要介紹了如何基于Python語言實(shí)現(xiàn)遍歷多個(gè)子文件夾,將每一個(gè)子文件夾中大量的文件,按照每一個(gè)文件的文件名稱的特點(diǎn)復(fù)制到不同的目標(biāo)文件夾中,感興趣的可以了解下
    2023-08-08
  • Sanic框架異常處理與中間件操作實(shí)例分析

    Sanic框架異常處理與中間件操作實(shí)例分析

    這篇文章主要介紹了Sanic框架異常處理與中間件操作,結(jié)合實(shí)例形式較為詳細(xì)的分析了Sanic框架拋出異常、異常處理、中間件、監(jiān)聽器相關(guān)原理與操作技巧,需要的朋友可以參考下
    2018-07-07
  • wxpython布局的實(shí)現(xiàn)方法

    wxpython布局的實(shí)現(xiàn)方法

    這篇文章主要介紹了wxpython布局的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Python操作Word批量生成合同的實(shí)現(xiàn)示例

    Python操作Word批量生成合同的實(shí)現(xiàn)示例

    這篇文章主要介紹了Python操作Word批量生成合同的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Python使用pickle模塊實(shí)現(xiàn)序列化功能示例

    Python使用pickle模塊實(shí)現(xiàn)序列化功能示例

    這篇文章主要介紹了Python使用pickle模塊實(shí)現(xiàn)序列化功能,結(jié)合實(shí)例形式分析了基于pickle模塊的序列化操作相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • 詳解scrapy內(nèi)置中間件的順序

    詳解scrapy內(nèi)置中間件的順序

    這篇文章主要介紹了詳解scrapy內(nèi)置中間件的順序,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 一篇文章帶你了解kali局域網(wǎng)攻擊

    一篇文章帶你了解kali局域網(wǎng)攻擊

    這篇文章主要給大家介紹了kali的局域網(wǎng)攻擊,小編覺得這篇文章還是不錯(cuò)的,使用起來也是非常方便的,需要的朋友可以參考下
    2021-08-08

最新評論