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)]热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短