【问题标题】:How to find the sum of elements of a specific tuple in a list?如何查找列表中特定元组的元素总和?
【发布时间】:2020-10-07 15:42:34
【问题描述】:

更具体地说,我将如何使用循环来获取每个元组 (n) 的总和,并将其作为键添加到新 dict,其值作为我从中获得总和的特定元组。

我尝试了什么:

dict = list(map(sum, list_with_tuples))

例如,我想将此作为输入:

list = [(50, 55), (56, 57), (58, 62)]

并将其作为输出:

dict = 105: [50, 55], 113: [56, 57], 120: [58, 62]

【问题讨论】:

标签: python list dictionary tuples


【解决方案1】:

你可以这样做:

l = [(50, 55), (56, 57), (58, 62)]
d = {}
for x in l:
  d[sum(x)] = x

如果多个列表的总和值相同,它将被覆盖。

【讨论】:

    【解决方案2】:

    像这样?

    myDict = {}
    # HERE DEFINE THE LISTS
    myListX = [LIST OF THE NAME OF LISTS]
    for x in myListX:
      myDict[x] = sum(x)
    

    【讨论】:

      【解决方案3】:

      如果你想将每个列表减少到一个总和,你应该使用reduce 如果你有一个列表列表n

      from functools import reduce
      
      list_dict = {}
      
      for list in in n:
           list_dict[reduce(lambda a+b, list)] = list
        
      
      

      【讨论】:

      • 你不应该使用list,因为它是一个保留关键字。此外,使用 reduce(lambda a+b, list) 是相当大的,因为你有一个像 sum 这样的操作已经非常适合这个。 (如果列表很大,它可能也会增加相当多的成本)
      猜你喜欢
      • 2020-02-25
      • 2012-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-12
      • 2021-09-25
      • 2016-12-17
      • 1970-01-01
      相关资源
      最近更新 更多