【问题标题】:Python - How to divide numbers in list of lists?Python - 如何在列表列表中划分数字?
【发布时间】:2018-10-10 01:37:30
【问题描述】:

您好,我一直在尝试使用 sum/length 获取每个子列表的平均值。

vectors = [[2.731018, 1.7550012, 2.3455532],
 [2.9210236, 3.2172325],
 [2.9255183, 2.66712, 2.7174947]]  

mean_vec = [sum(i)/len(i) for i in vectors]

目前我正在使用上面的代码,但是我收到以下错误消息的提示:

ZeroDivisionError: division by zero

上面的列表只是一个示例。我有一个更大的数字列表。请告诉我应该如何解决这个问题

【问题讨论】:

  • 您的代码对我来说很好用。您必须在真实数据集中的某处有一个空列表。
  • 删除/忽略空列表
  • 好的问题解决了嘿嘿。我很抱歉没有正确检查。 :P

标签: python arraylist division


【解决方案1】:

您提供的代码 mean_vec = [sum(i)/len(i) for i in vectors] 在某些情况下可能会失败

  • []#一个空列表

请在您的代码中添加len(i) != 0,如下所示

mean_vec = [sum(i)/len(i) for i in vectors if len(i) != 0]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-24
    • 1970-01-01
    • 1970-01-01
    • 2020-05-18
    相关资源
    最近更新 更多