0
我要生成一個包含多個詞典列表,但我遇到了一個奇怪的問題:如何添加一個詞典列表正確的Python
for i in xrange(0, len(merchant_id_list)):
for j in xrange(count, count + int(product_list_size[i])):
unit_price = get_unit_price_by_id(merchant_id_list[i], product_id_list[j])
product['id'] = product_id_list[j]
product['quantity'] = quantity_list[j]
product['price'] = unit_price
product_id.append(product)
print i
print merchant_id_list[i]
compound_data['id'] = merchant_id_list[i]
compound_data['product_id'] = product_id
merchant.append(compound_data)
print merchant
count += int(product_list_size[i])
我想要得到的名單如下:
[
{
"id":1,
"product_id":[
{
"id":1,
"quantity": 3,
"price": 11
},
{
"id":2,
"quantity": 2,
"price": 12
}
]
},
{
"id":2,
"product_id":[
{
"id":16,
"quantity": 2,
"price": 22.22
}
]
但最後它看起來像這樣:
[
{
"id":2,
"product_id":[
{
"id":16,
"quantity": 2,
"price": 22.22
},
{
"id":2,
"product_id":[
{
"id":16,
"quantity": 2,
"price": 22.22
}
]
它看起來是最後一個元素覆蓋所有公關e字典。我已經打印出變量'i'和'merchant_id_list',它是可以的。如何解決它?由於
的顯着問題是,你有同樣的問題 - 它並不重要無論您是存儲子列表或字典中的列表,只是它的某種可變對象。該解決方案將是你不同,但原理是一樣的 - 你必須要爲你想把列表中的每個事情*單獨的對象*。 – 2014-11-09 08:15:26