-2

我的清单目前是

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

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

4

2 回答 2

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)]
于 2013-08-07T04:14:40.303 回答
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()
于 2013-08-07T04:16:03.307 回答