📜  Python – 绝对元组求和

📅  最后修改于: 2022-05-13 01:54:53.294000             🧑  作者: Mango

Python – 绝对元组求和

有时,在使用Python元组时,我们可能会遇到需要对中间元组元素的绝对值求和的问题。这类问题可以在许多领域都有应用,例如 Web 开发。让我们讨论可以执行此任务的某些方式。

方法 #1:使用sum() + list comprehension + abs()
上述功能的组合可以用来解决这个问题。在此,我们使用 sum() 执行计算总和的任务,abs() 用于绝对值,列表推导遍历列表,在每个元组内部,使用生成器表达式进行迭代。

# Python3 code to demonstrate working of 
# Absolute Tuple Summation
# Using sum() + list comprehension + abs()
  
# initializing list
test_list = [(7, -8), (-5, -6), (-7, 2), (6, 8)]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Absolute Tuple Summation
# Using sum() + list comprehension + abs()
res = [sum([abs(ele) for ele in sub]) for sub in test_list]
  
# printing result 
print("The absolute sum list: " + str(res)) 
输出 :
The original list is : [(7, -8), (-5, -6), (-7, 2), (6, 8)]
The absolute sum list: [15, 11, 9, 14]

方法 #2:使用列表理解 + sum() + map()
上述功能的组合提供了解决此问题的替代方案。在此,我们使用 map() 而不是生成器表达式执行计算整个元组元素之和的任务。

# Python3 code to demonstrate working of 
# Absolute Tuple Summation
# Using list comprehension + sum() + map()
  
# initializing list
test_list = [(7, -8), (-5, -6), (-7, 2), (6, 8)]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Absolute Tuple Summation
# Using list comprehension + sum() + map()
res = [sum(map(abs, ele)) for ele in test_list]
  
# printing result 
print("The absolute sum list: " + str(res)) 
输出 :
The original list is : [(7, -8), (-5, -6), (-7, 2), (6, 8)]
The absolute sum list: [15, 11, 9, 14]