[問題] dict 在迴圈裡 update的問題
原始碼
subclass_data = {}
transaction_info_subclass = {}
cart_subclass_temp = {}
cart_items = {
147: [
{'object_id': 8022, 'categorysub': 147, },
{'object_id': 8021, 'categorysub': 147, }
],
148: [ {'object_id': 8023, 'categorysub': 148, } ]
}
cart_subclass =[147, 148]
for subclass in cart_subclass:
cart_subclass_temp['items'] = cart_items[subclass]
transaction_info_subclass = cart_subclass_temp
print (transaction_info_subclass) # 1
subclass_data[subclass] = transaction_info_subclass # 新增字典
print (subclass_data) # 2
輸出為
第一個迴圈的 1
{'items': [{'categorysub': 147, 'object_id': 8022},
{'categorysub': 147, 'object_id': 8021}]}
第一個迴圈的 2
{147: {'items': [{'categorysub': 147, 'object_id': 8022},
{'categorysub': 147, 'object_id': 8021}]}}
第二個迴圈的 1
{'items': [{'categorysub': 148, 'object_id': 8023}]}
第二個迴圈的 2
{147: {'items': [{'categorysub': 148, 'object_id': 8023}]},
148: {'items': [{'categorysub': 148, 'object_id': 8023}]}}
不知道為何 第二迴圈 # 新增字典的時候 會把裡面原有的 key 147 對應的 'items'
一起改成 key 148 對應的 'items'(value)
之前也用過dict update的方式也是一樣,還請教一下有人有其他解法沒有
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.157.207
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1470388123.A.63C.html
→
08/05 17:23, , 1F
08/05 17:23, 1F
推
08/05 19:19, , 2F
08/05 19:19, 2F
→
08/06 21:27, , 3F
08/06 21:27, 3F