pythony统计字符串中每个字母出现的次数

题目

请编写一个程序 , 用于统计字符串“asjhsdjkgavsdjasdbj”中每个字母的出现次数( 字母忽略大小写 ,a A 看是作一个字母 ), 统计出的结果, 请按照 [‘a’:3,’b’:2] 的格式输出。

方法

1、如果是一个整体的字符串如"asjhsdjkgavsdjasdbj",

第一步:运用集合将其中重复的字母去掉,放入str1中。再将其转换成列表,但因为集合是无序的,因此将其转换成的列表字母排序是非常混乱的,为了好看可以用排序函数str.sort()或者sorted(list_name)。由于字符串中字母有的大写有的小写,因此还需要运用str.lower()将字符串中大写换成小写,或者运用str.upper()将所有小写换成大写。题目为小写输出格式转换成小写就行。

第二步:运用双重for循环,第一层for循环中的i从str1中取,第二层的for循环中的j从原始字符串中取。从而统计每个字母的出现次数。

2、如果是字符串在列表中需要统计每个字符出现的次数。

第一步:利用内置函数str.join()将列表中每个元素连接起来。

第二步:再运用方法1就可以了。

知识补充

1、str.sort()sorted(list_name)函数

pythony统计字符串中每个字母出现的次数_第1张图片

 语法:

list.sort(key=None,reverse=false)

key---指定可迭代对象中的一个元素进行排序。

reverse---排序规则,reverse=Tuse 降序,reverse=False 升序(默认)

2、字母大小写函数

例子: "What is Your Name?"
str.lower()  返回全小写的字符串
'what is your name?'
str.upper()  返回全大写字符串
'WHAT IS YOUR NAME?'
str.capitalize()  字符串首字母大写
'What is your name?
str.title()  字符串每个单词首字母大写
'What Is Your Name?'
str.swapcase()  字符串中字母大小写互换
'wHAT IS yOUR nAME?

 3、str.join()函数

字符串连接 str.join()
列表 中多个字符串进行连接,并在向量两个字符之间插入 指定字符 str
例子:
In[1]  li=["xiaohua","xiaomin","xiaozhang"]
In[2]  s="/"
In[3]  s.join(li)
Out[4] "xiaohua/xiaomin/xiaozhang"

代码实现

方法1:

str1='asjhsdjkgavsdjasdbj'
str2=set(str1)
str2=list(str2)
str2=sorted(str2)
str1=str1.lower()
t1=[]
t2=[]
s=0
for i in str2:
    t=0
    s=s+1
    for j in str1:
        if i in j:
            t=t+1
    print(i,t,sep=':',end=',')

方法2:

str1=['a','s','j','h','s','d','j','k','g','a','v','s','d','j','a','s','d','b','j']
set1=''
str2=set1.join(str1)
str3=set(str2)
str3=list(str3)
str3.sort()#或者str3=sorted(str3)都可以将其排序,但两者有所不同底下有所说明
str2=str2.lower()
t1=[]
t2=[]
s=0
for i in str3:
    t=0
    s=s+1
    for j in str2:
        if i in j:
            t=t+1
    print(i,t,sep=':',end=',')

你可能感兴趣的:(python)