【問(wèn)題描述】
編寫一個(gè)程序,接收用戶輸入的一個(gè)字符串(可以包含空格),統(tǒng)計(jì)其中所有出現(xiàn)過(guò)的所有字符,并按照頻率高低的順序排列輸出。頻率相同的字符按輸入順序輸出。
【輸入形式】
用戶在第一行輸入一個(gè)字符串,以回車結(jié)束輸入。
【輸出形式】
程序統(tǒng)計(jì)字符串中出現(xiàn)的所有字符,然后按照字符出現(xiàn)頻率大小排序輸出,頻率相同時(shí),按輸入順序輸出。輸出形式規(guī)定為每行輸出4個(gè)字符數(shù)據(jù),輸出格式為:字符-出現(xiàn)次數(shù)。每個(gè)字符-出現(xiàn)次數(shù)輸出中間用一個(gè)空格分隔,每行末尾沒(méi)有空格。程序輸出結(jié)尾有一個(gè)回車。
【樣例輸入】
The job requires an agile mind.
【樣例輸出】
#-5 e-4 i-3 r-2
a-2 n-2 T-1 h-1
j-1 o-1 b-1 q-1
u-1 s-1 g-1 l-1
m-1 d-1 .-1
#表示空格(在程序請(qǐng)輸出空格,而不是字符’#’,這里只是表示而已。)
【樣例說(shuō)明】
用戶首先輸入字符串The job requires an agile mind. 程序統(tǒng)計(jì)完畢之后按照每行4個(gè)統(tǒng)計(jì)結(jié)果輸出,字符串中有5個(gè)空格,所以輸出為#-5,#表示空格。字符’b’和’T’出現(xiàn)次數(shù)同為1,因?yàn)檩斎霑r(shí)’b’先于’T’輸入,所以輸出時(shí)也先打印’b’的統(tǒng)計(jì)信息。
實(shí)現(xiàn)代碼:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-409992.html
dic = {}
count = 0
s = input()
for i in s:
dic[i] = s.count(i)
list = sorted(dic.items(), key=lambda d: d[1], reverse=True)
for i, j in list:
print(i + "-" + str(j), end=" ")
count += 1
if count % 4 == 0:
print()
運(yùn)行結(jié)果:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-409992.html
到了這里,關(guān)于(Python)字符串統(tǒng)計(jì)排序的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!