Python:计算字符串中字母的出现次数
我正在寻找一种方法来计算给定字母在字符串中出现的次数,如果一个字母出现不止一次,请使用第一个公式,如果它不重复,请使用第二个公式Python:计算字符串中字母的出现次数,python,string,Python,String,我正在寻找一种方法来计算给定字母在字符串中出现的次数,如果一个字母出现不止一次,请使用第一个公式,如果它不重复,请使用第二个公式 def熵(n): 概率=[n_x/len(n)代表x,n_x在集合中。计数器(n).items()] 从收款进口柜台 a=计数器(n) 如果a>1: 熵=[-p_x*math.log2(p_x)表示概率中的p_x] 返回和(熵) 其他: entropy2=[-math.log2(r_x)表示概率中的r_x] 返回金额(entropy2) 也许这样就可以了。您可以使用该
def熵(n):
概率=[n_x/len(n)代表x,n_x在集合中。计数器(n).items()]
从收款进口柜台
a=计数器(n)
如果a>1:
熵=[-p_x*math.log2(p_x)表示概率中的p_x]
返回和(熵)
其他:
entropy2=[-math.log2(r_x)表示概率中的r_x]
返回金额(entropy2)
也许这样就可以了。您可以使用该功能
下面的示例将打印出来
{'method': 0, 'most_common': 2, 'entropy_sum': 1.584962500721156, 'string': 'coucou'}
{'method': 1, 'most_common': 1, 'entropy_sum': 8.0, 'string': 'abcd'}
输入数学
将集合作为cl导入
def熵(_s):
概率=[n_x/len(_s)表示x,n_x在cl.Counter(_s).items()中]
most_common=cl.Counter(_s)。most_common(1)[0][1]
如果最常见>1:
方法=0
熵=[-p_x*math.log2(p_x)表示概率中的p_x]
其他:
方法=1
熵=[-math.log2(r_x)表示概率中的r_x]
返回{“方法”:方法,
“最普通”:最普通,
“熵和”:和(熵),
“字符串”:
}
如果名称=“\uuuuu main\uuuuuuuu”:
字符串=[
“coucou”,
“abcd”
]
对于字符串中的_:
ans=熵
打印(ans)