列表长度的除法返回0 Python

问题描述 投票:0回答:1

我写了以下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

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

python list sage
1个回答
0
投票
float(i)/len(lcad)

您遇到的问题是您将整数除以整数。结果是一个整数。通过将其转换为第一个浮点数,您将收到一个浮点数。

© www.soinside.com 2019 - 2024. All rights reserved.