我想把这个列表改为:
[{u'host': u'node54', u'key': u'cpu_load_average_limit', u'value': 4.0},
{u'host': u'node54', u'key': u'ram_allocation_ratio', u'value': 4.0},
{u'host': u'node54', u'key': u'cpu_allocation_ratio', u'value': 4.0},
{u'host': u'node53', u'key': u'cpu_load_average_limit', u'value': 4.0},
{u'host': u'node53', u'key': u'ram_allocation_ratio', u'value': 4.0},
{u'host': u'node53', u'key': u'cpu_allocation_ratio', u'value': 4.0}]
成:
{u'node54': {u'cpu_allocation_ratio': 4.0, u'ram_allocation_ratio': 4.0, u'cpu_load_average_limit': 4.0},
u'node53': {u'cpu_allocation_ratio': 4.0, u'ram_allocation_ratio': 4.0, u'cpu_load_average_limit': 4.0}}
答案 0 :(得分:0)
entries = [
{u'host': u'node54', u'key': u'cpu_load_average_limit', u'value': 4.0},
{u'host': u'node54', u'key': u'ram_allocation_ratio', u'value': 4.0},
{u'host': u'node54', u'key': u'cpu_allocation_ratio', u'value': 4.0},
{u'host': u'node53', u'key': u'cpu_load_average_limit', u'value': 4.0},
{u'host': u'node53', u'key': u'ram_allocation_ratio', u'value': 4.0},
{u'host': u'node53', u'key': u'cpu_allocation_ratio', u'value': 4.0}
]
result = {}
for entry in entries:
result.setdefault(entry['host'], {})[entry['key']] = entry['value']
assert result == {u'node54': {u'cpu_allocation_ratio': 4.0, u'ram_allocation_ratio': 4.0, u'cpu_load_average_limit': 4.0}, u'node53': {u'cpu_allocation_ratio': 4.0, u'ram_allocation_ratio': 4.0, u'cpu_load_average_limit': 4.0}}