假设我有以下值:
values = [('Foo', 1), ('Bar', 3), ('FooBar', 1)]
我想通过其中一个元组元素将这些值组合在一个字典中,例如,最后一个元素。
预期输出为:
print expected_output
>>> { 1: ['Foo', 'FooBar'], 3: ['Bar'] }
我正在寻找兼容Python 2.x的解决方案。
此外,解决方案不应该耦合到元组的元素类型(在本例中为int
)。
实现这一目标的最佳方式是什么?
答案 0 :(得分:5)
您可以使用defaultdict
:
from collections import defaultdict
result = defaultdict(list)
for val, key in tuples:
result[key].append(val)
result = dict(result)