在 Python 中编辑 collections.Counter 的输出

Editing output of collections.Counter in Python

这里是新 Python 学习者,我正在尝试弄清楚如何按照我的教程规范中的说明获得所需的输出格式。基本上我要键入任何字符(例如 asjndkfsdhfbhdbhssassasa82),程序将计算前 5 个最常见的字符。到目前为止,我能够得到想要的结果,但是我无法根据我的实验室规格打印它。

目前,我的输出是

(字符):(频率)

(字符):(频率)

.

.

.

如何让它显示为(字符):(频率),(字符):(频率)等?

import sys
import collections

charInput = sys.argv[1].lower()
charInputTemp = list(charInput)    #Convert entire string into individual characters

charInputArray = []

for char in charInput:
    charInputArray.append(char)    #Add each character to array for sorting     

charInputArray.sort()

letters = collections.Counter(charInputArray)     #Get number of occurrence of a character

for letter, count in letters.most_common(5):    #Get 5 most frequent character
    print '%s:%d' % (letter, count)

如有任何帮助,我们将不胜感激!

试试这个

import sys
import collections

charInput = sys.argv[1].lower()
charInputTemp = list(charInput)    #Convert entire string into individual characters

charInputArray = []

for char in charInput:
    charInputArray.append(char)    #Add each character to array for sorting     

charInputArray.sort()

letters = collections.Counter(charInputArray)   #Get number of occurrence of a character

output = []
for letter, count in letters.most_common(5):    #Get 5 most frequent character
    output.append(str(letter)+":"+str(count))
print (",".join(output))