【问题标题】:Return multiple modes in python as float values将python中的多种模式作为浮点值返回
【发布时间】:2020-06-08 11:09:26
【问题描述】:

我正在努力使用下面的代码。 输出是浮点值列表。有没有一种简单的方法来获取浮点值而不返回列表。 所以对于 mode(x) 而不是 --> [2.0, 22.0, 85.0] 只是 2.0, 22.0, 85.0

x=[2,10,20,22,22,85,50,60,80,85,2,100]

def mode(x):
    largestCount = 0
    modes = []
    for i in x:
        if i in modes:
            continue
        count = x.count(i)
        if count > largestCount:
            del modes[:]
            modes.append(i)
            largestCount = count
        elif count == largestCount:
            modes.append(i)
    return [float(i) for i in modes]

【问题讨论】:

  • 返回列表有什么问题?由于此函数返回的浮点数基于modes,一个可变大小的列表,因此该函数最好返回一个列表。返回一个元组反而没有什么意义,因为一个元组意味着一个固定大小的序列。
  • 你想这样做的目的是什么?

标签: python statistics mode


【解决方案1】:

Python 函数不能返回三个值。您认为的三个值实际上是三个元素中的一个 tuple。在返回之前将结果转换为元组:

return tuple(float(i) for i in modes)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-28
    • 2014-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-01
    • 1970-01-01
    • 2015-11-06
    相关资源
    最近更新 更多