给定一个字典列表。
什么是将它们映射到输出的最简单方法?
有没有使用字典推导式的简洁方法来完成这个操作?我假设同样的过程也适用于具有属性的对象列表。
input = [
{'key': k1, 'value': v1},
{'key': k1, 'value': v2},
{'key': k2, 'value': v3}
]
什么是将它们映射到输出的最简单方法?
output == {k1: (v1, v2), k2: (v3)}
我并不特别关心值的顺序。我想到的最好方法是:
output = dict()
for i in input:
temp = output.get(i['key'], [])
temp.append(i['value'])
output[i['key']] = temp
有没有使用字典推导式的简洁方法来完成这个操作?我假设同样的过程也适用于具有属性的对象列表。
d.items()
而不是d.values()
。 - avimd.items()
替换d.values()
并不能解决这个问题。这个答案需要进行重大更改才能处理它(应该这样做)。 - skrrgwasme