count()方法——统计字符串出现次数

自学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 in c.items():

    count=chars.count(keys)

    print('字符:',keys,'出现:',count,'次')

运行程序,输出结果为:

请输入字符串:吉林省有限公司.com,mr,mrbccd,mrbook

字符: 吉 出现: 1 次

字符: 林 出现: 1 次

字符: 省 出现: 1 次

字符: 有 出现: 1 次

字符: 限 出现: 1 次

字符: 公 出现: 1 次

字符: 司 出现: 1 次

字符: . 出现: 1 次

字符: c 出现: 3 次

字符: , 出现: 3 次

字符: b 出现: 2 次

字符: d 出现: 1 次

字符: k 出现: 1 次

锦囊3  统计字符串中的标点符号

首先通过string模块的punctuation常量获取所有标点符号,然后判断字典中每个字符是否为标点符号,如果是标点符号则使用count()方法进行统计,最后汇总,代码如下:

import string

count=0

chars=input('请输入字符串:')

#将输入的字符串创建一个新字典

c = {}.fromkeys(chars,0)

for keys,values in c.items():

    if keys in string.punctuation:  #统计标点符号

      count=chars.count(keys)+count

print('字符串中包含:',count,'个标点符号')

运行程序,输出结果为:

请输入字符串:www.mingrisoft.com%$&,*,@!

字符串中包含: 10 个标点符号

锦囊4  统计文本中数字出现的个数

下面统计文本文件中数字出现的个数,如图所示。

首先通过string模块的digits常量获取所有数字,然后判断字典中每个字符是否为数字,如果是数字则使用count()方法进行统计,最后汇总,代码如下:

import string

f = open('./tmp/digits.txt', 'r')

chars=f.read()

count=0

#将输入的字符串创建一个新字典

c = {}.fromkeys(chars,0)

for keys,values in c.items():

    if keys in string.digits:  #统计数字

      count=chars.count(keys)+count

print('文本中包含:',count,'个数字')

运行程序,输出结果如下:

文本中包含: 14 个数字

  • 18
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橙子味冰可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值