Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 尝试获取列表中字符串的平均值,并将列表中的计数与输入文件进行比较_Python_String_List_Mean - Fatal编程技术网

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

Python 尝试获取列表中字符串的平均值,并将列表中的计数与输入文件进行比较,python,string,list,mean,Python,String,List,Mean,我的名单现在是 ['AA11','AA11','AA22','AA33','AA44','AA44'] 这些是我的值,通过我返回的函数,它们工作,我有一个原始数据文件(AA**10个)的len(计数),我想(剥离?拆分?枚举?)这个列表,并将每个不同字符串的计数除以原始文件的计数,(在我的列表中,有些字符串有2个计数)因此,我将找到字符串的平均值,AA**将在该列表中(计数)次,然后取平均值(平均值?总和/计数)?然后返回一个(浮动?)。AA11有两次,所以2/10=.2,而AA22有一次,所

我的名单现在是

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

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

使用
集合
模块和
计数器
很简单

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)]

它获取列表,然后去掉“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()

+1,但我可能会用
items()
iteritems()
替换
most\u common()
,这样所有
average
都将包含所有项目。这是一个很好的观点,谢谢。最终编辑:我想计算我的列表中每个AA**的计数,(上面我的列表中的AA11=2,以此类推为AA12等),然后将我得到的所有计数除以列表中有多少(非重复)AA**的值,在上面的列表中有4个非重复AA**值@mattbryantNo,AA11在我的列表中是一个字符串,在我的原始数据文件中有11个AA11,我想找出我的列表中有多少个AA11,然后将该计数数除以我的数据文件中的AA11数,我之前定义为“计数”@mattbreant