这是我到目前为止所做的:
import random
list1 = []
list2 = []
for i in range(5):
for j in range(3):
list1.append(random.randrange(1,101))
list2.append(list1)
list1=[]
for i in range(5):
for j in range(3):
print(list2[i][j],end=",")
print()
有5行,每行有3个随机数。我想找到每行3个数字的总和,以及每行的平均值。但是我不知道我应该怎么做。
答案 0 :(得分:0)
解决方案是:
import random
list1 = []
list2 = []
for i in range(5):
for j in range(3):
list1.append(random.randrange(1,101))
list2.append(list1)
list1=[]
data=[(data[0], data[0]/float(data[1])) for data in [(reduce((lambda d, i=0: d+i), data),len(data)) for data in list2]]
print("Result: {0}".format(data))
答案 1 :(得分:0)
更正了缩进。请尝试以下:
import random
list1 = []
list2 = []
for i in range(5):
for j in range(3):
list1.append(random.randrange(1,101))
list2.append(list1)
list1=[]
print("List of random nos, sum , average ")
for i in list2:
print(i, sum(i), sum(i)/len(i))
获得带有随机数的list2
后,您可以使用上面的列表项。 sum()得到总和,avg = sum(items)/ total_no_of_items,total_number_of_items可以使用len()函数找到。
答案 2 :(得分:0)
也许这就是你要找的东西:
for _list in list2: #Use _list to avoid name clashes with the built-in function
for item in _list:
print(item, end=",") #Print each item in the list
print(" (Sum: ", sum(_list), " Average: ", (sum(_list)/len(_list)), ")", sep="")
#Use sum() and len() to find the average
print() #End with a new line
示例输出
96,56,35, (Sum: 187 Average: 62.333333333333336)
19,88,83, (Sum: 190 Average: 63.333333333333336)
36,71,41, (Sum: 148 Average: 49.333333333333336)
15,88,13, (Sum: 116 Average: 38.666666666666664)
9,18,62, (Sum: 89 Average: 29.666666666666668)
sum()
返回可迭代对象中所有项的总和,len()
返回可迭代对象的长度。将列表总和除以列表长度得到列表的平均值。