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

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

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

前言

最近發(fā)現(xiàn)一個問題,在一次爬蟲實戰(zhàn)中,需要將字典加入列表中,意外的情況出現(xiàn)了!?。∠旅婧唵畏治鲆幌鲁霈F(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}]

結果出乎意料,并不是我們簡單認為的

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

用我自己的理解是:

如上圖,每一個dic都給list一個位置,但你的dic在循環(huán)外,也就說每次循環(huán)你給的都是一個地址,dic的值改變,新一次的循環(huán)值就會覆蓋上一次循環(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)內,這樣每次循環(huán)都會是一個新的dic,分配不同的地址。

總結

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

相關文章

  • Numpy安裝、升級與卸載的詳細圖文教程

    Numpy安裝、升級與卸載的詳細圖文教程

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

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

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

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

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

    Python實現(xiàn)遍歷子文件夾并將文件復制到不同的目標文件夾

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

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

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

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

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

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

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

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

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

    詳解scrapy內置中間件的順序

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

    一篇文章帶你了解kali局域網攻擊

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

最新評論