如何按元组

时间:2018-01-16 14:21:59

标签: python python-2.7

假设我有以下值:

values = [('Foo', 1), ('Bar', 3), ('FooBar', 1)]

我想通过其中一个元组元素将这些值组合在一个字典中,例如,最后一个元素。

预期输出为:

print expected_output
>>> { 1: ['Foo', 'FooBar'], 3: ['Bar'] }

我正在寻找兼容Python 2.x的解决方案。

此外,解决方案不应该耦合到元组的元素类型(在本例中为int)。

实现这一目标的最佳方式是什么?

1 个答案:

答案 0 :(得分:5)

您可以使用defaultdict

from collections import defaultdict

result = defaultdict(list)

for val, key in tuples:
  result[key].append(val)

result = dict(result)