第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

添加到字典的條目被覆蓋

添加到字典的條目被覆蓋

溫溫醬 2022-05-24 16:08:07
有一個字典已初始化,序列化程序提供一些數(shù)據(jù),并通過迭代項目列表添加到嵌套數(shù)組中:list = {"shopping_list": []}item = {}count = 0stuff = json.loads(serializer.data["stuff_file"])for s in stuff:  item["level"] = count  item["position"] = count * 10  item["item_name"] = s["name"]  list["shopping_list"].append(item)  count += 1但是,我沒有收到唯一項目的列表(期望append這樣做的方法),而是獲得了具有適當項目計數(shù)的列表,但是所有以前的項目都被最新的項目覆蓋,例如:{    "shopping_list": [        {            "level": 2,            "position": 20,            "item_name": "Bronze Badge"        },        {            "level": 2,            "position": 20,            "item_name": "Bronze Badge"        },        {            "level": 2,            "position": 20,            "item_name": "Bronze Badge"        }    ]}我應該如何寫入列表以使所有項目都獨一無二,例如:{    "shopping_list": [        {            "level": 0,            "position": 0,            "item_name": "Gold Badge"        },        {            "level": 1,            "position": 10,            "item_name": "Silver Badge"        },        {            "level": 2,            "position": 20,            "item_name": "Bronze Badge"        }    ]}?
查看完整描述

1 回答

?
慕村225694

TA貢獻1880條經(jīng)驗 獲得超4個贊

不要在循環(huán)外創(chuàng)建變量,而是在其中創(chuàng)建item:


list = {"shopping_list": []}

count = 0


stuff = [{"name": "Gold Badge"}, {"name": "Silver Badge"}, {"name": "Bronze Badge"}]


for s in stuff:

  item = {}

  item["level"] = count

  item["position"] = count * 10

  item["item_name"] = s["name"]


  list["shopping_list"].append(item)

  count += 1


print(list)

輸出:


{'shopping_list': [{'level': 0, 'position': 0, 'item_name': 'Gold Badge'}, {'level': 1, 'position': 10, 'item_name': 'Silver Badge'},{'level': 2, 'position': 20, 'item_name': 'Bronze Badge'}]}

正如@DeepSpace 指出的那樣,您還可以使用字典文字:


for s in stuff:

  list["shopping_list"].append({'level': count, 'position': count * 10, 'item_name': s['name']})

  count += 1

事實上,你可以去掉 count 變量,也可以這樣做:


for count, s in enumerate(stuff):

  list["shopping_list"].append({'level': count, 'position': count * 10, 'item_name': s['name']})



查看完整回答
反對 回復 2022-05-24
  • 1 回答
  • 0 關注
  • 118 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號