2013-09-29 20 views
-2

我已經完成了以下程序的硬代碼,但我不能如何從每列中找到它的平均值和最大值。通過使用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] 
========================== 
+4

您是否試圖找到最大值或平均值? – askewchan

+4

專業提示:列表可以包含* other *列表。而不是創建三個列表變量,使用* 1 *變量與包含3個嵌套列表的列表。 –

回答

0

只是用這樣的

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時,平均計數。

+0

「但是如何在一行中打印最大值並在一行中打印出平均值」 – user2829403

+0

通過使用.rjust()函數[python:Input output](http://docs.python.org/2/tutorial /inputoutput.html)檢查官方教程 – ddiipp

0

這樣的事情。

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 
+1

然後向老師解釋這個巧妙的代碼(你真的*自己寫的!)是如何工作的。 :-) –

相關問題