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

所属分类: 脚本专栏 / python 阅读数: 587
收藏 0 赞 0 分享

代码如下

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

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

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

更多精彩内容其他人还在看

pandas的qcut()方法详解

这篇文章主要介绍了pandas的qcut()方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

从列表或字典创建Pandas的DataFrame对象的方法

这篇文章主要介绍了从列表或字典创建Pandas的DataFrame对象的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

pandas.DataFrame的pivot()和unstack()实现行转列

这篇文章主要介绍了pandas.DataFrame的pivot()和unstack()实现行转列,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

pandas中的series数据类型详解

这篇文章主要介绍了pandas中的series数据类型详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

pandas 时间格式转换的实现

这篇文章主要介绍了pandas 时间格式转换的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

python中时间、日期、时间戳的转换的实现方法

这篇文章主要介绍了python中时间、日期、时间戳的转换的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

pandas进行时间数据的转换和计算时间差并提取年月日

这篇文章主要介绍了pandas进行时间数据的转换和计算时间差并提取年月日,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法

这篇文章主要介绍了详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

python和c语言的主要区别总结

在本篇文章里小编给各位整理了关于python和c语言的主要区别的相关知识帖内容,有需要的朋友们学习阅读下。
收藏 0 赞 0 分享

选择Python写网络爬虫的优势和理由

在本篇文章里小编给各位整理了一篇关于选择Python写网络爬虫的优势和理由以及相关代码实例,有兴趣的朋友们阅读下吧。
收藏 0 赞 0 分享
查看更多