使用 Python 编程查找列最大值和列平均值



我已经为以下程序完成了硬代码,但我无法从每列中找到它的平均值和最大值。

输出应如下所示:

2.42  11.42  13.86  72.32
56.59  88.52  4.33  87.70
73.72 50.50 7.97 84.47
============================
73.72 88.52 13.86 87.70  column max
44.24 50.15 8.72 81.50   column average

我有一些做了什么

list1=[2.42, 11.42,13.86,72.32]
list2=[56.59,88.52,4.33,87.70]
list3=[73.72,50.50,7.97,84.47]
data=[]
print   list1
print   list2
print   list3
print "=========================="

输出

================================
[2.42, 11.42, 13.86, 72.32]
[56.59, 88.52, 4.33, 87.7]
[73.72, 50.5, 7.97, 84.47]
==========================

只需使用这样的东西

list1=[2.42, 11.42,13.86,72.32]
list2=[56.59,88.52,4.33,87.70]
list3=[73.72,50.50,7.97,84.47]
print("============================")
print(list1)
print(list2)
print(list3)
print("============================")
for i in range(len(list1)):
    data = []
    data.append(list1[i])
    data.append(list2[i])
    data.append(list3[i])
    print(str(max(data)).rjust(i+1),end = " ")
print("n")
for i in range(len(list1)):
    summ = list1[i] + list2[i] + list3[i]
    avr = summ / 3
    print(str(avr).rjust(i+1),end= " ")

您可能希望使用列表列表来获得更高效的数据。通过使用列表列表,您可以在计算平均值时避免硬编码的 3。

像这样的东西。

list1=[2.42, 11.42,13.86,72.32]
list2=[56.59,88.52,4.33,87.70]
list3=[73.72,50.50,7.97,84.47]
maxs = [max(col) for col in zip(list1, list2, list3)]
means = [sum(col)/len(col) for col in zip(list1, list2, list3)]
print list1
print list2
print list3
print maxs
print means

最新更新