且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

python3.x - python排序问题

更新时间:2022-10-18 23:41:16

這應該滿足你的條件,只是我自認為寫得很醜,等有時間再優化吧:

(改了一下 code 這樣做比較好!)

import collections

def count_words(s, n):
    lst = collections.Counter(s.split()).most_common()
    lst.sort(key=lambda t: t[0])
    lst.sort(key=lambda t: t[1], reverse=True)
    return lst[0:n]

print(count_words("betty bought a bit of butter but the butter was bitter", 3))

想了一想,覺得下面更好:

import collections

def count_words(s, n):
    lst = collections.Counter(s.split()).most_common()
    lst.sort(key=lambda t: (-t[1], t[0]))
    return lst[0:n]

print(count_words("betty bought a bit of butter but the butter was bitter", 3))