我已經編寫了一個程序,其中計算了字符串中發生字母的頻率。如何對字典進行排序並獲得第一個和最後一個元素
Input: AAAABBBBBCCDEEEEEEEEEEFFF
我希望我的輸出只能是那些發生次數最多,發生次數最少的字母以及發生次數。
import sys
seq=sys.argv[1]
count = {}
for i in seq:
if count.has_key(i):
count[i] += 1
else:
count[i] = 1
for i in sorted(count, key=count.get, reverse=True):
print i, count[i]
輸出:
Actual Output:
E:10, B:5, A:4, F:3, C:2, D:1
Expected Output:
E: 10 , D: 1
除了'collections.Counter',這是值得學習一下'collections.defaultdict'以避免寫if語句就像你在更一般的語句寫了一個。另外'dict.setdefault'。 –