尝试获取列表中字符串的平均值,并将列表中的计数与输入文件进行比较

时间:2013-08-07 04:07:18

标签: python string list mean

我的列表目前是

['AA11','AA11','AA22','AA33','AA44','AA44']

这些是我的值,通过我返回的函数并且它们有效,我有一个(计数)len我的原始数据文件(AA ** 10)我想(剥离?拆分?枚举?)这个列出并将每个不同字符串的计数除以原始文件的计数,(在我的列表中,对于某些字符串有2个计数)因此我会找到字符串的平均值,AA **将在该列表中(计数)次然后取平均值(平均值?总和/计数)?那个并返回一个(浮动?)。 AA11有两次,所以2/10 = .2然而AA22曾经有一次,所以1/10 =等等等等。

2 个答案:

答案 0 :(得分:3)

使用collections模块和Counter

这很简单
from collections import Counter
common = Counter(yourList).items()
average = [(a, float(b) / len(common)) for (a,b) in common]

在给定列表上运行它的结果:

>>> average
[('AA11', 0.5), ('AA33', 0.25), ('AA22', 0.25), ('AA44', 0.5)]

答案 1 :(得分:0)

它取出列表,然后剥离“AA”然后提取数字部分,然后查找每个数字出现的次数。

from collections import Counter

a=['AA11','AA11','AA22','AA33','AA44','AA44']
num=list()
for index,val in enumerate(a):
    num.append(int(val.split('AA',1)[1]))
print Counter(num).items()