0

我是 python 的初学者,但我对编码仍然不太了解。
这是我从维基百科得到的:

在此处输入图像描述

4

3 回答 3

2

你可以使用collections.Counter

>>> from collections import Counter
>>> c1 = Counter(list1)
>>> c2 = Counter(list2)
>>> def rec_rank(key,dic):
...     return dic[key]/float(sum(dic.values()))
... 
>>> rec_rank('apple',c1)
0.3333333333333333
>>> rec_rank('apple',c2)
0.5
于 2013-05-13T10:57:22.507 回答
1

你是这个意思吗?

count = 0
for i in list:
    if i == string:
       count += 1.0
return count / len(list)

这是错误的。

于 2013-05-13T10:54:43.967 回答
1
len(filter(lambda x: x == 'apple', list1)) / float(len(list1))

sum(map(lambda x: x == 'apple', list1)) / float(len(list1))

reduce(lambda x, y: x + (y == 'apple'), list1, 0.0) / len(list1)
于 2013-05-13T10:56:11.617 回答