【问题标题】:Division for list length gives back 0 Python列表长度除法返回 0 Python
【发布时间】:2020-03-06 14:55:15
【问题描述】:

我编写了以下 Sage 代码:

def Frequences(cad) :
    p = {}
    lcad = list(cad)
    Car = sorted(list(dict.fromkeys(lcad)))

    for i in lcad :
        p[i] = lcad.count(i)
    p1 = list(p.values())

    Prob = []
    for i in p1 :
        Prob.append(i/len(lcad))

    print(Prob)
    return Car

其中“Prob”是一个整数列表。 我使用'append'函数将每个元素除以列表的长度,但是如果我除以“len(lcad)”它给我0,而如果我除以一个整数(例如2)它给我1 / 2. 我该如何解决?

【问题讨论】:

  • 我不确定这是否是 SO 上的显示问题,但您的代码没有正确缩进
  • 包含一段可重复的代码,只要有足够的数据,可能会解决这个问题。
  • 等一下。 “其中“概率”是整数列表”→ 您使用的 Python 版本是否早于 3?
  • @usr2564301 我在 Sage 上编码
  • 至少,提供一个在调用时传递给Frequencies 的参数示例。

标签: python list sage


【解决方案1】:

确保您不必将其存储为整数值,而是存储为浮点数。

【讨论】:

  • 这是 Python。您无法选择如何存储。 (您也需要。)
猜你喜欢
  • 1970-01-01
  • 2018-01-20
  • 1970-01-01
  • 2019-04-08
  • 1970-01-01
  • 2019-07-13
  • 2020-09-21
  • 1970-01-01
  • 2022-12-19
相关资源
最近更新 更多