最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中使用遍歷在列表中添加字典遇到的坑

 更新時(shí)間:2019年02月27日 09:10:23   作者:YOYO__2018  
今天小編就為大家分享一篇關(guān)于Python中使用遍歷在列表中添加字典遇到的坑,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
"""
已知列表li = [{"key": 5}, {"key": 9}, {"key": -1}, {"key": 4}] ,
定義一個(gè)函數(shù),將該列表按照其元素的value
值進(jìn)行排序,并輸出結(jié)果
"""

思路很清晰,新建一個(gè)列表,然后遍歷取出字典的值加入到新的列表中,再通過遍歷,賦值字典,使用append方法依次添加到列表,這樣就是一個(gè)按照value值排續(xù).于是有了下面的代碼:

li = [{"key": 5}, {"key": 9}, {"key": -1}, {"key": 4}]
def fun(li):
  li_1 = [] # 接收value值
  li_2 = [] # 接收新的字典
  dict_1 = {}
  for i in range(len(li)):
    li_1.append(li[i]["key"])
  li_1.sort() # 排序
  for i in li_1:
    dict_1["key"] = i
    print(dict_1)
    li_2.append(dict_1)
  return li_2
print(fun(li))

但是運(yùn)行的結(jié)果卻是:

[{'key': 9}, {'key': 9}, {'key': 9}, {'key': 9}]

很明顯,取值被最后一個(gè)傳入value的9全部替換了.為什么會(huì)這樣呢?

開始懷疑是不是和字典中重復(fù)賦值給"key"有關(guān),但是也不應(yīng)該啊,每次遍歷的時(shí)候就是已經(jīng)把字典append到list中去了啊!

于是使用print(id(dict_1)),查看內(nèi)存信息,發(fā)現(xiàn)這個(gè)現(xiàn)象:

2874566784272
2874566784272
2874566784272
2874566784272

居然都是同一地址!!再查看list中的每個(gè)元素地址:

for i in li_2:
print(id(i))

結(jié)果:(print(id(dict_1))也打印了)

2501747356944
2501747356944
2501747356944
2501747356944
2501747356944
2501747356944
2501747356944
2501747356944

于是明白了,因?yàn)槊看翁砑拥亩际峭粋€(gè)內(nèi)存到list中去了,dict_1每次寫入的時(shí)候改變了內(nèi)存中的value,但是地址不變,即是,創(chuàng)建了一次內(nèi)存空間,只會(huì)不斷的改變value了.完善方法:每次遍歷時(shí)候創(chuàng)建一個(gè)新的dict_1.

代碼:

def fun(li):
  li_1 = []
  li_2 = []
  for i in range(len(li)):
    li_1.append(li[i]["key"])
  li_1.sort() # 排序
  for i in li_1:
dict_1 = {} # 每次遍歷時(shí)創(chuàng)建一個(gè)新的內(nèi)存
    dict_1["key"] = i
    li_2.append(dict_1)
  return li_2
print(fun(li))

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • python繪制隨機(jī)網(wǎng)絡(luò)圖形示例

    python繪制隨機(jī)網(wǎng)絡(luò)圖形示例

    今天小編就為大家分享一篇python繪制隨機(jī)網(wǎng)絡(luò)圖形示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2019-11-11
  • python3代碼輸出嵌套式對(duì)象實(shí)例詳解

    python3代碼輸出嵌套式對(duì)象實(shí)例詳解

    在本篇文章里小編給大家整理了關(guān)于python3代碼輸出嵌套式對(duì)象實(shí)例詳解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • Python竟然能剪輯視頻

    Python竟然能剪輯視頻

    平時(shí)我們?cè)谒⒍桃曨l或者看到一些視頻的時(shí)候,希望可以把視頻里面的音頻提取出來(lái)當(dāng)背景音樂究竟是怎么操作的呢,下面小編教大家python如何去提取一個(gè)視頻里面的音頻,感興趣的朋友一起看看吧
    2021-05-05
  • Python黑魔法遠(yuǎn)程控制開機(jī)的實(shí)例

    Python黑魔法遠(yuǎn)程控制開機(jī)的實(shí)例

    這篇文章主要介紹了Python黑魔法遠(yuǎn)程控制開機(jī)的實(shí)例,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有很大的幫助,需要的朋友可以參考下
    2021-04-04
  • pandas 選擇某幾列的方法

    pandas 選擇某幾列的方法

    今天小編就為大家分享一篇pandas 選擇某幾列的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2018-07-07
  • python實(shí)現(xiàn)bitmap數(shù)據(jù)結(jié)構(gòu)詳解

    python實(shí)現(xiàn)bitmap數(shù)據(jù)結(jié)構(gòu)詳解

    bitmap是很常用的數(shù)據(jù)結(jié)構(gòu),比如用于Bloom Filter中,下面是使用python實(shí)現(xiàn)bitmap數(shù)據(jù)結(jié)構(gòu)的代碼講解,需要的朋友可以參考下
    2014-02-02
  • flask操作數(shù)據(jù)庫(kù)相關(guān)配置及實(shí)現(xiàn)示例步驟全解

    flask操作數(shù)據(jù)庫(kù)相關(guān)配置及實(shí)現(xiàn)示例步驟全解

    這篇文章主要介紹了flask操作數(shù)據(jù)庫(kù)相關(guān)配置及實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Python調(diào)用IDM進(jìn)行批量下載的實(shí)現(xiàn)

    Python調(diào)用IDM進(jìn)行批量下載的實(shí)現(xiàn)

    本文主要介紹了Python調(diào)用IDM進(jìn)行批量下載的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-04-04
  • 總結(jié)python實(shí)現(xiàn)父類調(diào)用兩種方法的不同

    總結(jié)python實(shí)現(xiàn)父類調(diào)用兩種方法的不同

    最近在工作中實(shí)現(xiàn)父類調(diào)用的時(shí)候發(fā)現(xiàn)了一個(gè)錯(cuò)誤,然后通過分析實(shí)踐總結(jié)出來(lái)了,下面這篇文章主要給大家總結(jié)了python中實(shí)現(xiàn)父類調(diào)用兩種方法的不同之處,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-01-01
  • python中l(wèi)ogging模塊的一些簡(jiǎn)單用法的使用

    python中l(wèi)ogging模塊的一些簡(jiǎn)單用法的使用

    這篇文章主要介紹了python中l(wèi)ogging模塊的一些簡(jiǎn)單用法的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02

最新評(píng)論

虎林市| 广元市| 轮台县| 罗山县| 烟台市| 固原市| 六安市| 安仁县| 玛纳斯县| 孝昌县| 永靖县| 延边| 平山县| 夏津县| 崇仁县| 大冶市| 舞钢市| 清镇市| 汉源县| 万年县| 调兵山市| 浦东新区| 尚志市| 朔州市| 津南区| 都昌县| 永年县| 庆阳市| 开远市| 绥江县| 临泉县| 神池县| 桐梓县| 河曲县| 通城县| 漾濞| 阿拉善右旗| 汾阳市| 丰顺县| 左权县| 武冈市|