Python:计算字符串中每个字母出现的次数

需求:给定一个字符串,计算并返回每个字母出现的次数。问题分析:依次判断字符串s中的每个字母i是否在字典d中,如果不在,那么字典新增一个键值对,并将值赋为1,如果在,那么将原来键i的值加上1。代码如下:python def count_letters(s):d = {} for i in s:if i in d:d[i] += 1 else...
Python:计算字符串中每个字母出现的次数
需求:给定一个字符串,计算并返回每个字母出现的次数。

问题分析:依次判断字符串s中的每个字母i是否在字典d中,如果不在,那么字典新增一个键值对,并将值赋为1,如果在,那么将原来键i的值加上1。

代码如下:

python
def count_letters(s):
d = {}
for i in s:
if i in d:
d[i] += 1
else:
d[i] = 1
return d

运行结果如下:

可以看到生成的字典d并没有按照字母的顺序,也没有按照‘值’的顺序排列。

如果需要按照‘值’的顺序降序排列,就可以看出那些字母使用频率较高,代码如下:

python
def sort_by_value(d):
return sorted(d.items(), key=lambda x: x[1], reverse=True)

字典有items()方法,用于返回字典的全部‘键值对’,并且是以列表嵌套元组的形式返回。

key = lambda x : x[1]表示对列表进行排序的依据是‘值’。x是形参,可以用任意字母代替,表示列表中的元组。x[1],表示元组的第2个元素,即‘值’。

参考资料:2024-08-15
mengvlog 阅读 397 次 更新于 2025-10-31 00:19:44 我来答关注问题0
檬味博客在线解答立即免费咨询

Python相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部