Python分组的元组列表求和

在本教程中,我们将编写一个程序,该程序将具有相同键的所有值添加到不同列表中。让我们看一个例子来清楚地理解它。

输入值

list_one = [('a', 2), ('b', 3), ('c', 5)]

list_two = [('c', 7), ('a', 4), ('b', 2)]

输出结果

[('a', 6), ('b', 5), ('c', 12)]

请按照给定的步骤解决问题。

  • 初始化列表。

  • 使用dict将第一个列表转换为字典并将其存储在变量中。

  • 遍历第二个列表,并将相应的值添加到字典中存在的键中。

  • 打印结果。

示例

#初始化列表

list_one = [('a', 2), ('b', 3), ('c', 5)]

list_two = [('c', 7), ('a', 4), ('b', 2)]

#将list_one转换为dict

result = dict(list_one)

#遍历第二个列表

for tup in list_two:

   #检查字典中的键

   if tup[0] in result:

      result[tup[0]] = result.get(tup[0]) + tup[1]

      #将结果打印为元组列表

print(list(result.items()))

输出结果

如果运行上面的代码,则将得到以下结果。

[('a', 6), ('b', 5), ('c', 12)]

我们可以解决上述问题,而无需使用collection中的Counter遍历任何列表。让我们来看看它。

示例

# importing the Counter

from collections import Counter

#初始化列表

list_one = [('a', 2), ('b', 3), ('c', 5)]

list_two = [('c', 7), ('a', 4), ('b', 2)]

# getting the result

result = Counter(dict(list_one)) + Counter(dict())

#将结果打印为元组列表

print(list(result.items()))

输出结果

如果运行上面的代码,则将得到以下结果。

[('a', 6), ('b', 5), ('c', 12)]

以上是 Python分组的元组列表求和 的全部内容, 来源链接: utcz.com/z/351383.html

回到顶部