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) #输出每个字符的个数,存放到字典里

        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之统计字符串中字母出现次数的更多相关文章

  1. python取一个字符串中最多出现次数的词

    #-*- coding:utf-8 -*- #取一个字符串中最多出现次数的词 import re from collections import Counter my_str = "&quo ...

  2. python技巧 计算字符串中字母出现的次数并取出最大

    有一个字符串 “aaddfdfdercfghfyttefsfsfewretr123trefg5624sdfcgvfdgte6435234532”,现在需要取出里面出现次数最多的字符 第一种方法-装饰器 ...

  3. 统计字符串中每个字符出现的次数(Python)

    #统计字符串中每个字符出现的次数 以The quick brown fox jumps over the lazy dog为例 message='The quick brown fox jumps o ...

  4. python 统计字符串中指定字符出现次数的方法

    python 统计字符串中指定字符出现次数的方法: strs = "They look good and stick good!" count_set = ['look','goo ...

  5. Java基础知识强化之集合框架笔记61:Map集合之统计字符串中每个字符出现的次数的案例

    1. 首先我们看看统计字符串中每个字符出现的次数的案例图解: 2. 代码实现: (1)需求 :"aababcabcdabcde",获取字符串中每一个字母出现的次数要求结果:a(5) ...

  6. Java案例——统计字符串中各种字符出现的次数

    /*案例:统计各种字符在字符串中出现的次数 分析:只考虑三种字符类型的情况下(大写字母,小写字母,数字) 1.使用Scanner 类获取字符串数据 2.遍历字符串得到每一个字符 3.判断每一个字符是那 ...

  7. 华为OJ平台——统计字符串中的大写字母

    题目描述: 统计字符串中的大写字母的个数 输入: 一行字符串 输出: 字符串中大写字母的个数(当空串时输出0) 思路: 这一题很简单,直接判断字符串中的每一个字符即可,唯一要注意的一点是输入的字符串可 ...

  8. 已知一个字符串S 以及长度为n的字符数组a,编写一个函数,统计a中每个字符在字符串中的出现次数

    import java.util.Scanner; /** * @author:(LiberHome) * @date:Created in 2019/3/6 21:04 * @description ...

  9. javascript 统计字符串中每个字符出现的次数

    var str = "abdcadfasfdbadfafdasdfasyweroweurowqrewqrwqrebwqrewqrejwq;;"; // console.log(nu ...

随机推荐

  1. Javascript中的String.format方法实现

    <script type='text/javascript'> String.format = function() { var s = arguments[0]; for (var i ...

  2. 使用AWS Lambda,API Gateway和S3 Storage快速调整图片大小

    https://www.obytes.com/blog/2019/image-resizing-on-the-fly-with-aws-lambda,-api-gateway,-and-s3-stor ...

  3. mac中matplotlib不支持中文的解决办法

    参考:https://blog.csdn.net/kaizei_pao/article/details/80795377 首先查看matplotlib已加载的字体: import matplotlib ...

  4. 品优购商城项目(二)mybatis分页插件

    品优购商城项目第二天,使用mybatis分页插件实现分页.主要实现的是 SSM整合mybatis分页. 一.引用mybatis分页插件 SqlMapConfig.xml <?xml versio ...

  5. java.io.EOFException at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer

    如题,网上找了相关资料查明是websocket连接超时的问题.使用了反向代理,因此超过60S没有数据传输的连接会断开. 把代理的那个超时时间设置长一点,无限长.你开什么玩笑!那还代理个啥玩意. 解决方 ...

  6. NodeVisitor

    /* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield * * This library is open source ...

  7. QTableView加载数据

    void VCAdmin::searchAllUser() { strID_Index = ""; if (NULL == vcManageDatabaseObj) { vc_ad ...

  8. 关于spring项目报错:找不到元素 'beans' 的声明的解决办法

    @参考文章 首先是spring.xml中引用地址错误,部分http://***写成https://***了. 其次是spring.xml中引入的版本不对,我用的4.1.3的,直接写 http://ww ...

  9. LODOP打印table超宽用省略号带'-'的内容换行问题

    前面的博文有div超宽隐藏(LODOP打印超过后隐藏内容样式),还有有table设置超宽隐藏(),此外,还有超宽后用省略号表示的css样式,此文是针对这个样式的.该样式正常情况下没问题,但是遇到-短线 ...

  10. Java程序内存分析

    1. Runtime.getRuntime().freeMemory() 和 jvisualvm.exe http://blog.csdn.net/u011004037/article/details ...