def words(word,number):
if number<len(word):
result={}
for key,value in word.items():
common_num=sorted(set(word.values()), reverse=True)[:number]
if value in common_num:
result.update({key:value})
word.clear()
word.update(result)
new_word_count={}
common_word=[]
common=[]
for key, value in word.items():
if value in common_word:
common.append(value)
common_word.append(value)
new_word_count=dict(word)
for key,value in new_word_count.items():
if value in common:
del word[key]
實施例:計數在Python
>>> word={'a': 2, 'b': 2, 'c' : 3, 'd: 3, 'e': 4, 'f' : 4, 'g' : 5}
>>> words(word,3)
我的輸出:{ 'G':5}
預期輸出:{ 'G':5, 'E':4, 「F」:4}
知道爲什麼即時得到這個輸出
我的程序應該採取5,4,4作爲最高的數字,但它採取5,4,3 – CAVS
這是一個家庭作業,必須以某種方式解決?否則,我建議讓'collections.Counter'完成大部分工作。 – ShadowRanger
@ShadowRanger是的,這是一個任務,我不能使用collections.Counter – CAVS