字符统计及重排的python实现

字符统计及重排的python实现,第1张

概述题目给出一个仅包含字母的字符串,不包含空格,统计字符串中各个字母(区分大小写)出现的次数,并按照字母出现次数从大到小的顺序输出各个字母及其出现次数。如果次数相同,按照自然顺序进行排序,且小写字母在大写字母之前。字母需要的排序顺序与asc码不同,所以排序的代码有点长,如果有更好的

题目

给出一个仅包含字母的字符串,不包含空格,统计字符串中各个字母(区分大小写)出现的次数,并按照字母出现次数从大到小的顺序输出各个字母及其出现次数。如果次数相同,按照自然顺序进行排序,且小写字母在大写字母之前。

字母需要的排序顺序与asc码不同,所以排序的代码有点长,如果有更好的方向可以教我,谢谢~

str1=input()str_List=[]for i in range(len(str1)):    str_List.append(str1[i])set_List=List(set(str_List))set_List=sorted(set_List)print(set_List)count2=-1for i in range(len(set_List)):    if set_List[i]>='A'and set_List[i]<='Z':        count2=i+1print(count2)for i in range(count2):    set_List.append(set_List[i])print(set_List)for i in range(count2):    del(set_List[0])print(set_List)num_List=[]num2_List=[]num3_List=[]for i in range(len(set_List)):    num_List.append(0)    num2_List.append(0)    num3_List.append(0)#print(num_List)for i in range(len(set_List)):    for j in str_List:        if set_List[i]==j:            num_List[i]=num_List[i]+1            num2_List[i]=num2_List[i]+1num_List.sort()num_List.reverse()print(num_List)print(num2_List)for i in range(len(num_List)):    if i>0 and num_List[i]==num_List[i-1]:        continue    count = 0    for j in range(len(num2_List)):        if num2_List[j]==num_List[i]:            count=count+1            num3_List[j]=ifor i in range(max(num3_List)+1):    for j in range(len(num3_List)):        if num3_List[j]==i:            print(set_List[j]+':'+str(num2_List[j]),end=';')

 

总结

以上是内存溢出为你收集整理的字符统计及重排的python实现全部内容,希望文章能够帮你解决字符统计及重排的python实现所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1185682.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存