我有一個項目,我必須通過sys.stdin的Python:我怎樣才能增加頻率的行數和按字母順序排序使用字典
獲得我所獲得的那部分的每個單詞的頻率量。第二部分是獲取每個單詞的行號,我覺得我已經獲得了,但我不能在輸出字符串中添加行號,我也無法找到一種按字母順序排序的方法,如果單詞具有相同的頻率
這裏是我的代碼:
if __name__ == '__main__':
wordCount = defaultdict(list)
words = {}
for i, line in enumerate(sys.stdin.readlines()):
wordCount[line].append(i+1) #add the line number to each element in the line
for word in line.lower().split():
words[word] = words.get(word, 0) + 1
sortedList = sorted(words.items(), key=itemgetter(1), reverse=True)
for word, frequency in sortedList:
print("%d %s" % (frequency, word))," " # <-- HERE I NEED TO ADD THE LINE NUMBER AND ALSO SORT ALPHABETICALLY
如果我輸入 「Python是真的很酷」 的#line 1 #行 「我與蟒蛇真正的工作」 2
輸出應該是:
2 python 1 2
2 really 1 2
1 am 2
1 cool 1
1 I 2
1 is 1
1 with 2
1 working 2
s/project/homework? –