首页 > 编程语言 > 详细

字符统计及重排的python实现

时间:2021-07-03 22:22:42      阅读:21      评论:0      收藏:0      [点我收藏+]

题目

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

字母需要的排序顺序与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=-1
for i in range(len(set_list)):
    if set_list[i]>=Aand set_list[i]<=Z:
        count2=i+1
print(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]+1
num_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]=i
for 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实现

原文:https://www.cnblogs.com/zucc-31701019/p/14967394.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!