Python中往列表中插入字典時,數(shù)據(jù)重復(fù)問題
往列表中插入字典時,數(shù)據(jù)重復(fù)問題
先貼以下代碼
UserInfo =[]
SelfMediaInfo = {'usr':'','pwd':'','videoIndex':''}
with open(r"D:\SelfMediaData.txt",'r') as SelfMediaFile:
selfMediaInfos = SelfMediaFile.readlines()
for i in range(len(selfMediaInfos)):
selfMediaInfo = selfMediaInfos[i].split('----')
SelfMediaInfo['usr'] = selfMediaInfo[0].strip()
SelfMediaInfo['pwd'] = selfMediaInfo[1].strip()
SelfMediaInfo['videoIndex'] = selfMediaInfo[2].strip()
UserInfo.append(SelfMediaInfo)
代碼的用途是讀取txt文檔中的數(shù)據(jù),然后根據(jù)數(shù)據(jù)的分類分別保存到usr,pwd,videoIndex中
按照上面的代碼執(zhí)行會發(fā)現(xiàn)UserInfo中列表中的所有的數(shù)據(jù)與selfMediaInfos的最后一行數(shù)據(jù)完全一樣,與代碼設(shè)計初衷相違背。

經(jīng)過調(diào)試分析發(fā)現(xiàn)
只要SelfMediaInfo中的數(shù)據(jù)一變化,UserInfo中的所有數(shù)據(jù)就會跟著變化。
在此參考以下文章將問題得到有效解決
最后將
UserInfo.append(SelfMediaInfo)
修改為
UserInfo.append(SelfMediaInfo.copy())
問題得到有效解決!

總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
用Python和MD5實現(xiàn)網(wǎng)站掛馬檢測程序
系統(tǒng)管理員通常從svn/git中檢索代碼,部署站點后通常首先會生成該站點所有文件的MD5值,如果上線后網(wǎng)站頁面內(nèi)容被篡改(如掛馬)等,可以比對之前生成MD5值快速查找去那些文件被更改,為了使系統(tǒng)管理員第一時間發(fā)現(xiàn),可結(jié)合crontab或nagios等工具2014-03-03
利用python+request通過接口實現(xiàn)人員通行記錄上傳功能
這篇文章主要介紹了利用python+request通過接口實現(xiàn)人員通行記錄上傳功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01
Python 快速驗證代理IP是否有效的方法實現(xiàn)
有時候,我們需要用到代理IP,比如在爬蟲的時候,不知道怎么驗證這些IP是不是有效的,本文就介紹一下,感興趣的可以了解一下2021-07-07
Python協(xié)程環(huán)境下文件操作的正確方法
在Python協(xié)程中執(zhí)行文件操作是常見的需求,但直接使用同步文件讀寫會阻塞事件循環(huán),破壞異步并發(fā)優(yōu)勢,本文將深入解析協(xié)程環(huán)境下文件操作的正確方法,涵蓋多種場景下的最佳實踐和性能優(yōu)化技巧,需要的朋友可以參考下2025-09-09
Python實現(xiàn)按目錄層級輸出文件名并保存為excel
當(dāng)我們發(fā)現(xiàn)電腦的內(nèi)存很滿,或平時工作中文件夾管理不清晰,導(dǎo)致里面的文件數(shù)據(jù)很雜亂,查找很不方便,一個一個文件夾去看去找然后刪除又很浪費時間。本文將介紹如何利用Python實現(xiàn)按目錄層級輸出文件名并保存為excel,需要的可以參考一下2022-02-02

