我有兩個串列,每個串列都有多個專案。這是示例:
X:
[
{
"uuid": "b9e9d655-64a8-4d74-a9bc-3967347f7928",
"name": "general_c",
"generation": 0,
"root_provider_uuid": "b9e9d655-64a8-4d74-a9bc-3967347f7928",
"parent_provider_uuid": null
},
{
"uuid": "94d3d093-3608-4cf1-982b-3897ed77d59a",
"name": "aggr",
"generation": 1,
"root_provider_uuid": "94d3d093-3608-4cf1-982b-3897ed77d59a",
"parent_provider_uuid": null
},
{
"uuid": "59758b2f-8faa-4eae-b838-a31fcc40c2c2",
"name": "c001",
"generation": 961,
"root_provider_uuid": "59758b2f-8faa-4eae-b838-a31fcc40c2c2",
"parent_provider_uuid": null
}
]
第一:
[
[],
[
{
"resource_class": "VCPU",
"allocation_ratio": 16.0,
"min_unit": 1,
"max_unit": 64,
},
{
"resource_class": "MEMORY_MB",
"allocation_ratio": 1.5,
"min_unit": 1,
"max_unit": 257653,
}
],
[
{
"resource_class": "VCPU",
"allocation_ratio": 4.0,
"min_unit": 1,
"max_unit": 64,
},
{
"resource_class": "MEMORY_MB",
"allocation_ratio": 2.0,
"min_unit": 1,
"max_unit": 257589,
}
]
]
所需的輸出:
新串列:
[
{
"uuid": "b9e9d655-64a8-4d74-a9bc-3967347f7928",
"name": "general_c",
"generation": 0,
"root_provider_uuid": "b9e9d655-64a8-4d74-a9bc-3967347f7928",
"parent_provider_uuid": null
"resource_allocation: []"
},
{
"uuid": "94d3d093-3608-4cf1-982b-3897ed77d59a",
"name": "aggr",
"generation": 1,
"root_provider_uuid": "94d3d093-3608-4cf1-982b-3897ed77d59a",
"parent_provider_uuid": null
"resource_allocation:
[
{
"resource_class": "VCPU",
"allocation_ratio": 16.0,
"min_unit": 1,
"max_unit": 64,
},
{
"resource_class": "MEMORY_MB",
"allocation_ratio": 1.5,
"min_unit": 1,
"max_unit": 257653,
}
]
},
{
"uuid": "59758b2f-8faa-4eae-b838-a31fcc40c2c2",
"name": "c001",
"generation": 961,
"root_provider_uuid": "59758b2f-8faa-4eae-b838-a31fcc40c2c2",
"parent_provider_uuid": null
"resource_allocation:
[
{
"resource_class": "VCPU",
"allocation_ratio": 4.0,
"min_unit": 1,
"max_unit": 64,
},
{
"resource_class": "MEMORY_MB",
"allocation_ratio": 2.0,
"min_unit": 1,
"max_unit": 257589,
}
]
}
]
我想創建一個名為“resource_allocation”的新鍵并向其添加“lst”項值,如上所示
我正在嘗試這樣做:
x["resource_allocation"] = lst
print(x)
得到錯誤:
x["resource_allocation"] = lst
TypeError: list indices must be integers or slices, not str
我確定我做錯了,有人可以建議我實作所需輸出的正確方法嗎?我看過SO帖子之前沒有遇到過這種要求。謝謝
uj5u.com熱心網友回復:
您試圖為串列分配一個鍵值,因此它會引發錯誤。您必須遍歷 x 串列并單獨分配鍵。
for i in range(len(x)):
x[i]['resource_allocation']=lst[i]
print(json.dumps(x,indent=2))
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/495543.html
標籤:Python python-3.x 列表 字典
上一篇:Groovy遍歷Maps的Map
