給列表裡新增字典時被最後乙個覆蓋

2022-09-15 20:12:18 字數 824 閱讀 8692

>>> item={} ; items=    #

先宣告乙個字典和乙個列表,字典用來新增到列表裡面

>>> item['

index

']=1 #

給字典賦值

>>>items

#新增到列表裡面復合預期

>>> item['

index

']=2 #

現在修改字典

>>>item

#修改成功

將修改後的新字典新增到列表

>>> items #

按預期應該是[, ]

[, ]

#找一下原因:

>>> id(item),id(items[0]),id(items[1])

(3083974692l, 3083974692l, 3083974692l)

可以看到item,items[0],items[1]都指向同乙個物件,實際上是列表在多次新增(引用)同乙個字典。

一種解決的辦法:

>>> items=

>>> for i in range(3):

... item={} #

每次都重新宣告乙個新字典

... item['

index

']=i

... id(item)

...

3084185084l

3084183588l

3084218956l

>>>items

[, , ]

>>>

python給列表裡新增字典時被最後乙個值被覆蓋

combine list pie for i in range len learn level3 combine 學段 learn level2 i combine 佔比 resource take part1 i print combine print list pie filename lear...

python 將列表裡的字典元素合併為乙個字典例項

我就廢話不多說了,大家還是直接看 吧 def list dict list data dict data for i in list data key,i value,i.values dic程式設計客棧t data key value return dict data if name main l...

遍歷資料時,總是被最後乙個資料覆蓋

問題 在js中往陣列中push資料時,總是被物件的最後乙個值所覆蓋 然後我在網上找到了解決辦法,下面是 模擬 var json var data 在外面定義物件 var datas for key in json console.log datas 然後輸出結果 原因 也就是說每次迴圈的時候的時候,...