回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个数字列表,从这个列表中,我想再创建3个列表,其中包含最大、平均和第五大数字。我的原始列表是列表块,这意味着它有子块,每个块中有6个数字,总共有3个块或6x3矩阵或数组</p>
<pre><code>overdraw:
[[16,13,23,14,33,45],[23,11,54,34,23,76],[22,54,34,43,41,11]]
</code></pre>
<p>我知道如何计算此列表中的最大值、平均值和5个最大值。但我想要一个具体的答案,就像我知道每个块的最大值、平均值和第五大值一样,但我希望它们打印4次。我知道所有的价值观:</p>
<pre><code>Max = [45, 76, 54]
Average = [24, 37, 34]
Largest(5th) = [14, 23, 22]
</code></pre>
<p>我的做法:</p>
<pre><code>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)
</code></pre>
<p>运行此代码后,您将获得相同的输出,但我希望输出为以下格式:</p>
<pre><code>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]
</code></pre>
<p>正如您所看到的,每个平均值、最大值和最大值在各自的列表中打印了4次。有人能帮我回答这个问题吗</p>