📅  最后修改于: 2023-12-03 15:33:56.913000             🧑  作者: Mango
在Python编程中,有时需要将元组列表按照某种规则分组到字典中。这可以通过使用Python内置函数和方法实现。
假设我们有一个包含元组的列表,每个元组都包含一个键和一个值,且键是不同的。我们想要根据键将元组分组到字典中,使得字典的键是元组的键,而值是元组的值。下面是一个示例:
tuples = [('a', 1), ('b', 2), ('a', 3), ('c', 4), ('b', 5)]
我们要将这个列表分组到一个字典中:
{'a': [1, 3], 'b': [2, 5], 'c': [4]}
可以使用Python中的for循环和字典操作来实现:
tuples = [('a', 1), ('b', 2), ('a', 3), ('c', 4), ('b', 5)]
d = {}
for t in tuples:
if t[0] not in d:
d[t[0]] = [t[1]]
else:
d[t[0]].append(t[1])
print(d)
输出:
{'a': [1, 3], 'b': [2, 5], 'c': [4]}
可以使用Python中的collections模块中的defaultdict类来实现:
from collections import defaultdict
tuples = [('a', 1), ('b', 2), ('a', 3), ('c', 4), ('b', 5)]
d = defaultdict(list)
for t in tuples:
d[t[0]].append(t[1])
print(dict(d))
输出:
{'a': [1, 3], 'b': [2, 5], 'c': [4]}
以上两种方法都可以将元组列表按照键值分组到字典中。使用Python中的collections模块中的defaultdict类可以使代码更加简洁。