【问题标题】:Average of Rows in 2D List/Array [closed]二维列表/数组中的平均行数
【发布时间】:2016-02-19 14:19:31
【问题描述】:

我需要一些关于作业的问题的帮助,我什至不太清楚除了创建 2D 列表之外如何开始,问题如下

“编写一个接受 2D 表的 Python 函数,使用列表列表打印每个评论者的平均评论。您的程序必须适用于所使用的任何 2D 数组。”

Example of reviewer / movie review

我已经完成了为上述附加图片创建二维数组的部分,我应该从这里去哪里?

array = [ [4,6,2,5], [7,9,4,8], [6,9,3,7] ]

def review(array):
    for row in array:
        for entry in row:
            print(entry, end='  ')
        print()

创建:

review(array)
4  6  2  5  
7  9  4  8  
6  9  3  7  

我将如何找出二维数组中行的平均值?

编辑:上表的输出示例:

review([ enter table ])
Reviewer 0 average rating: 4.25
Reviewer 1 average rating: 7
Reviewer 2 average rating: 6.25

【问题讨论】:

  • 欢迎来到 StackOverflow。请阅读并遵循帮助文档中的发布指南。 Minimal, complete, verifiable example 适用于此。在您发布代码并准确描述问题之前,我们无法有效地帮助您。 StackOverflow 不是编码或教程服务。
  • 在我的代码中添加了开头

标签: python arrays python-3.x multidimensional-array


【解决方案1】:

如果有一个真实的数据示例会很棒,但假设它类似于:[[2,3,4],[2,3],[1,4,5,6]],如下应该管用。它计算每个嵌套列表中的平均值并以相同的顺序输出。

def mean_score(table):
    for i, reviewer in enumerate(table):
        score = float(sum(reviewer))/len(reviewer)    
        print 'Reviewer %i average rating: %.2f' %(i,score)
return

【讨论】:

  • 添加了一些示例数据以及我目前拥有的数据,我会使用 numpy 但我们尚未在课堂上介绍它,我的教授不会接受它。
  • 那么[float(sum(reviewer))/len(reviewer) for reviewer in table]
  • 添加示例输出
  • 进行了编辑,应该可以工作
  • 用我得到的代码,review(table) Reviewer 0 average rating: 4.250000 1
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-30
  • 1970-01-01
  • 2013-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多