我有一个数字列表,从这个列表中,我想再创建3个列表,其中包含最大、平均和第五大数字。我的原始列表是列表块,这意味着它有子块,每个块中有6个数字,总共有3个块或6x3矩阵或数组
overdraw:
[[16,13,23,14,33,45],[23,11,54,34,23,76],[22,54,34,43,41,11]]
我知道如何计算此列表中的最大值、平均值和5个最大值。但我想要一个具体的答案,就像我知道每个块的最大值、平均值和第五大值一样,但我希望它们打印4次。我知道所有的价值观:
Max = [45, 76, 54]
Average = [24, 37, 34]
Largest(5th) = [14, 23, 22]
我的做法:
overdraw = [[16,13,23,14,33,45],[23,11,54,34,23,76],[22,54,34,43,41,11]]
x = [sorted(block, reverse=True) for block in overdraw] # first sort the whole list
max = [x[i][0] for i in range(0, len(x))] # for max
largest = [x[i][4] for i in range(0, len(x))] #5th largest
average = [sum(x[i])/len(x[i]) for i in range(0, len(x))] #average
print("max: ", max)
print("5th largest: ", largest)
print("average: ", average)
运行此代码后,您将获得相同的输出,但我希望输出为以下格式:
Average = [24, 24, 24, 24, 37, 37, 37, 37, 34, 34, 34, 34]
Max = [45, 45, 45, 45, 76, 76, 76, 76, 54, 54, 54, 54]
Largest(5th) = [14, 14, 14, 14, 23, 23, 23, 23, 22, 22, 22, 22]
正如您所看到的,每个平均值、最大值和最大值在各自的列表中打印了4次。有人能帮我回答这个问题吗
返回您指定的列表的解决方案
产出:
使用^{} 怎么样
显示
从这里开始,您仍然可以执行所有您想要的计算和/或获得一个NumPy数组,执行
df.values
在您的评论之后,您还可以将您的列作为单独的实体,例如。
不过,哪种方法开始有点过火了
相关问题 更多 >
编程相关推荐