Python dict的使用誤區(qū)你知道嗎
這兩天寫(xiě)代碼是用了列表里面追加字典的操作,代碼如下:
tmp_datas = [{'a': 18}, {'a':20}] def test(tmp_datas): tmp_li = [] tmp_dic = {} for data in tmp_datas: tmp_dic['age'] = data['a'] tmp_li.append(tmp_dic) print(tmp_li) test(tmp_datas)
由于字典是可變數(shù)據(jù)類(lèi)型,所以得到的結(jié)果為:
# [{'age': 20}, {'age': 20}]
解決辦法:把tmp_di放在里面即可
tmp_datas = [{'a': 18}, {'a':20}] def test(tmp_datas): tmp_li = [] for data in tmp_datas: tmp_dic = {} tmp_dic['age'] = data['a'] tmp_li.append(tmp_dic) print(tmp_li) test(tmp_datas)
注:如果tmp_datas直接使用不會(huì)出現(xiàn)該問(wèn)題
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
關(guān)于Django框架的關(guān)系模型序列化和一對(duì)多關(guān)系中的序列化解析
序列化的意思是把字典的形式轉(zhuǎn)化成Json格式。當(dāng)我們展示數(shù)據(jù)的時(shí)候需要使用,反序列化的話(huà),就是Json轉(zhuǎn)成字典形式,存儲(chǔ)數(shù)據(jù)時(shí)候使用,需要的朋友可以參考下2023-05-05搭建python django虛擬環(huán)境完整步驟詳解
這篇文章主要介紹了搭建python django虛擬環(huán)境完整步驟詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07詳解python數(shù)據(jù)結(jié)構(gòu)之棧stack
這篇文章主要介紹了詳解python數(shù)據(jù)結(jié)構(gòu)之棧stack,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有很好的幫助,需要的朋友可以參考下2021-05-05CentOS6.5設(shè)置Django開(kāi)發(fā)環(huán)境
這篇文章主要為大家詳細(xì)介紹了CentOS6.5設(shè)置Django開(kāi)發(fā)環(huán)境,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10Python雙端隊(duì)列實(shí)現(xiàn)回文檢測(cè)
雙端隊(duì)列 Deque 是一種有次序的數(shù)據(jù)集,跟隊(duì)列相似,其兩端可以稱(chēng)作"首" 和 "尾"端。這篇文章將通過(guò)雙端隊(duì)列實(shí)現(xiàn)回文檢測(cè),感興趣的可以學(xué)習(xí)一下2022-01-01淺談算法之最小生成樹(shù)Kruskal的Python實(shí)現(xiàn)
最小生成樹(shù)Kruskal算法可以稱(chēng)為“加邊法”,初始最小生成樹(shù)邊數(shù)為0,每迭代一次就選擇一條滿(mǎn)足條件的最小代價(jià)邊,加入到最小生成樹(shù)的邊集合里。本文將介紹它的原理,并用Python進(jìn)行實(shí)現(xiàn)2021-06-06