使用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))# 输出列表
1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对代码格式的要求没有那么严格;2、Python属于开源的,所有人都可以看到源代码,并且可以被移植在许多平台上使用;3、Python面向对象,能够支持面向过程编程,也支持面向对象编程;4、Python是一种解释性语言,Python写的程序不需要编译成二进制代码,可以直接从源代码运行程序;5、Python功能强大,拥有的模块众多,基本能够实现所有的常见功能。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。