所以我有一个元组列表,计算一个单词在文本中出现的次数[('cat', 1), ('dog', 6)]
如何获得一个新的元组列表,其中1和6更改为相对于总数的出现频率字数?
预期产出:
[('cat', 14.2%), ('dog', 85.7%)]
答案 0 :(得分:1)
也许像
[(w, n/sum(x[1] for x in words)) for w, n in words]
效率留给读者作为练习。
答案 1 :(得分:0)
您可以按照以下方式执行此操作:
a = [('cat', 1), ('dog', 6)]
x = float(sum(i[1] for i in a))/100 #in python3, you can just do: x = sum(i[1] for i in a)/100
a = [(i,j/x) for i,j in a]
>>> print a
[('cat', 14.285714285714285), ('dog', 85.714285714285708)]
答案 2 :(得分:-2)