自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501
语法参考
count()方法用于统计字符串中某个字符出现的次数,如起始位置从11到结束位置17之间字符出现的次数,如图1所示。
图1 count()方法示意图
count()方法的语法格式如下:
str.count(sub,start,end)
参数说明:
l str:表示原字符串。
l sub:表示要检索的子字符串。
l start:可选参数,表示检索范围的起始位置的索引,默认为第一个字符,索引值为0,可单独指定。
l end:可选参数,表示检索范围的结束位置的索引,默认为字符串的最后一个位置,不可以单独指定。
例如,子字符串o在字符串www.mingrisoft.com起始位置从11到结束位置17之间中出现的次数,如图2所示。
图2 字符串出现的次数
注意:这里要注意一点,结束位置为17,但是统计字符个数时不包含17这个位置上的字符。例如结束位置为16,那么o出现的次数为1。
锦囊1 统计关键词在字符串中不同位置处出现的次数
下面使用count()方法统计字母"o"在字符串不同位置处出现的次数,代码如下:
cn = '没什么是你能做却办不到的事。'
en = "There's nothing you can do that can't be done."
print(cn)
print('原字符串:',en)
#字母"o"在不同位置处出现的次数
print(en.count('o', 0, 17))
print(en.count('o', 0, 27))
print(en.count('o', 0, 47))
运行程序,输出结果为:
没什么是你能做却办不到的事。
原字符串: There's nothing you can do that can't be done.
在0~17位置处o出现: 1 次
在0~27位置处o出现: 3 次
在0~47位置处o出现: 4 次
锦囊2 统计任意输入内容中每个字符出现的次数
下面实现对用户输入的任意内容进行统计,统计其中每个字符出现的次数,代码如下:
chars=input('请输入字符串:')
#将输入的字符串创建一个新字典
c = {}.fromkeys(chars,0)
for keys,values inc.items():
count=chars.count(keys)
print('字符:',keys,'出现:',count,'次')
运行程序,输出结果为:
请输入字符串:吉林省明日科技有限公司mingrisoft.com,mr,mrbccd,mrbook
字符: 吉 出现: 1 次
字符: 林 出现: 1 次
字符: 省 出现: 1 次
字符: 明 出现: 1 次
字符: 日 出现: 1 次
字符: 科 出现: 1 次
字符: 技 出现: 1 次
字符: 有 出现: 1 次
字符: 限 出现: 1 次
字符: 公 出现: 1 次
字符: 司 出现: 1 次
字符: m 出现: 5 次
字符: i 出现: 2 次
字符: n 出现: 1 次
字符: g 出现: 1 次
字符: r 出现: 4 次
字符: s 出现: 1 次
字符: o 出现: 4 次
字符: f 出现: 1 次
字符: t 出现: 1 次
字符: . 出现: 1 次
字符: c 出现: 3 次
字符: , 出现: 3 次
字符: b 出现: 2 次
字符: d 出现: 1 次
字符: k 出现: 1 次
锦囊3 统计字符串中的标点符号
首先通过string模块的punctuation常量获取所有标点符号,然后判断字典中每个字符是否为标点符号,如果是标点符号则使用count()方法进行统计,最后汇总,代码如下:
importstring
count=0
chars=input('请输入字符串:')
#将输入的字符串创建一个新字典
c = {}.fromkeys(chars,0)
for keys,values inc.items():
if keys instring.punctuation: #统计标点符号
count=chars.count(keys)+count
print('字符串中包含:',count,'个标点符号')
运行程序,输出结果为:
请输入字符串:www.mingrisoft.com%$&,*,@!
字符串中包含: 10 个标点符号
锦囊4 统计文本中数字出现的个数
下面统计文本文件中数字出现的个数,如图所示。
首先通过string模块的digits常量获取所有数字,然后判断字典中每个字符是否为数字,如果是数字则使用count()方法进行统计,最后汇总,代码如下:
importstring
f = open('./tmp/digits.txt', 'r')
chars=f.read()
count=0
#将输入的字符串创建一个新字典
c = {}.fromkeys(chars,0)
for keys,values inc.items():
if keys instring.digits: #统计数字
count=chars.count(keys)+count
print('文本中包含:',count,'个数字')
运行程序,输出结果如下:
文本中包含: 14 个数字