Python|记录列表中的列平均值
有时我们收到的数据是元组的形式,包含来自各种来源的数据,我们通常可以有一个用例,在这个用例中,我们需要处理每个元组索引的查找平均值以进行累积。让我们讨论可以执行此操作的某些方式。
方法#1:使用列表推导
这是执行此特定任务的最简单的方法,在这种方法中,我们计算元组所有可能索引的每个索引的平均值。
# Python3 code to demonstrate
# Column Average in Record List
# using list comprehension
# initializing list
test_list = [(1, 6), (3, 4), (5, 8)]
# printing original list
print ("The original list is : " + str(test_list))
# Column Average in Record List
# using list comprehension
temp = sum(i[0] for i in test_list), sum(i[1] for i in test_list)
res = []
for ele in temp:
res.append(ele / len(test_list))
# printing summation
print ("The position Average of tuples : " + str(res))
输出 :
The original list is : [(1, 6), (3, 4), (5, 8)]
The position Average of tuples : [3.0, 6.0]
方法 #2:使用zip() + sum()
这是执行此特定任务的最优雅和 Pythonic 的方式。在此,我们使用 zip() 结合元素的所有索引和使用 sum函数的求和性能。然后将列表除以列表长度以计算平均值。
# Python3 code to demonstrate
# Column Average in Record List
# using zip() + sum()
# initializing list
test_list = [(1, 6), (3, 4), (5, 8)]
# printing original list
print ("The original list is : " + str(test_list))
# Column Average in Record List
# using zip() + sum()
temp = [sum(i) for i in zip(*test_list)]
res = []
for ele in temp:
res.append(ele / len(test_list))
# printing summation
print ("The position Average of tuples : " + str(res))
输出 :
The original list is : [(1, 6), (3, 4), (5, 8)]
The position Average of tuples : [3.0, 6.0]