Python中往列表中插入字典時(shí),數(shù)據(jù)重復(fù)問題
往列表中插入字典時(shí),數(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í)行會(huì)發(fā)現(xiàn)UserInfo中列表中的所有的數(shù)據(jù)與selfMediaInfos的最后一行數(shù)據(jù)完全一樣,與代碼設(shè)計(jì)初衷相違背。

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

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

