python统计字母出现次数代码_python统计字符串中字母出现次数代码实例

代码如下

dic=dict()

d={}

s=set()

s='helloworld'

(1)d=dict()

for x in s:

if x not in d.keys():

d[x]=1

else:

d[x]=d[x]+1

print(d)

(2)d2=dict()

for x in s:

d2[x]=d2.get(x,0)+1

print(d2)

(3)d3=dict()

for x in s:

d3[x]=s.count(x)

print(d3)

上面一共给出了三种方法,均是以字典的形式输出,但可以看出,通过第二三种的内置函数方法更简便

def countchar(str):

str = str.lower()# 化成小写

ans = []

for i in range(26): #列表赋初值 26 个 0

ans.append(0)

for i in str:

if (ord(i) >= ord('a') and ord(i) <=

ord('z')):

ans[ord(i) - ord('a')] = ans[ord(i) -

ord('a')] + 1# 统计个数

return ans

if __name__ == "__main__":

str = input()

print(countchar(str))

def countchar(st): #定义数个数的函数

keys = [chr(i + 97) for i in range(26)]# 生成26个字母的key列表

di = dict().fromkeys(keys, 0)# 赋给每个key初始值0

new = []# 建立一个新列表用于存放有序的key

st = st.lower()# 将所有输入的字符改为小写

for s in st: #遍历字符串

di[s] = st.count(s)# 输出每个字符的个数, 存放到字典里

def countchar(str):

str = str.lower()# 化成小写

ans = []

for i in range(26): #列表赋初值 26 个 0

ans.append(0)

for i in str:

if (ord(i) >= ord('a') and ord(i) <=

ord('z')):

ans[ord(i) - ord('a')] = ans[ord(i) -

ord('a')] + 1# 统计个数

return ans

if __name__ == "__main__":

str = input()

print(countchar(str))

def countchar(st): #定义数个数的函数

keys = [chr(i + 97) for i in range(26)]# 生成26个字母的key列表

di = dict().fromkeys(keys, 0)# 赋给每个key初始值0

new = []# 建立一个新列表用于存放有序的key

st = st.lower()# 将所有输入的字符改为小写

for s in st: #遍历字符串

di[s] = st.count(s)# 输出每个字符的个数, 存放到字典里

for k in keys: #遍历keys, 将其在di中的值添加到新列表, 获得有序的26个字母的个数

new.append(di[k])

return new# 返回存有26个字母个数的列表

if __name__ == "__main__":

st = input()# 输入字符串

str1 = ""#定义一个空字符串

for s in st: #遍历输入的字符串

if s.isalpha() != 0: #只有字母才添加到新字符串, 标点忽略不计

str1 += s

print(countchar(str1))# 输出列表

for k in keys: #遍历keys, 将其在di中的值添加到新列表, 获得有序的26个字母的个数

new.append(di[k])

return new# 返回存有26个字母个数的列表

if __name__ == "__main__":

st = input()# 输入字符串

str1 = ""#定义一个空字符串

for s in st: #遍历输入的字符串

if s.isalpha() != 0: #只有字母才添加到新字符串, 标点忽略不计

str1 += s

print(countchar(str1))# 输出列表

上面的两种方法也是输出字符串的字母出现次数,略有不同的是,这里它先设定了26个字母,并使其对应的初始值为0,然后统计字符串中的各字母出现次数,每个字母出现了多少次,即为其对应的初始值处的值。而没出现的字母,其对应的值则仍为初始值0

通过上述的几种方法,我们不难总结出解决这种问题的思路:从键盘随机输入一段字符串,然后循环遍历字符串,通过循环字符串中的每一个字符,统计各类字符出现的次数,循环遍历字符串

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持python博客。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值