統計字符串單詞出現的個數並排序


首先,先簡單介紹一下lambda函數的用法

1、max(num, key=lambda x:x[0])語法介紹如下:
key=lambda 元素: 元素[字段索引]

print(max(C, key=lambda x: x[0]))   

x:x[]字母可以隨意修改,求最大值方式按照中括號[]里面的維度,[0]按照列表或元組的第一維個元素,[1]按照列表或元組的第二個元素取。

 

 表示在num的三個列表元素取出索引值為第一個的最大值

 已有字符串

str = "test jobs test work test jobs",統計出字符串中單詞出現的個數,並按個數進行倒序排列

代碼如下:

str1 = "test jobs test work test jobs"

def func(data):
    # 按空格對字符串進行切割
    data = data.split(' ')
    print(data)
    # 使用列表推導式,去重並統計切割后列表里的單詞及重復個數,
    new_data = [[i,data.count(i)]for i in set(data)]
    print(new_data)
    # lambda是一個隱函數,是固定寫法,不要寫成別的單詞;x表示列表中的一個元素,
    # 在這里,表示一個元組,x只是臨時起的一個名字,你可以使用任意的名字;
    # x表示列表里的第一組元素,x[0]表示元組里的第一個元素,當然第二個元素就是x[1];所以這句命令的意思就是按照列表中第一個元素排序
    # reverse=True,可以按單詞出現的個數進行倒序顯示
    new_data.sort(key=lambda x:x[1],reverse=True)
    for i in new_data:
        # print(i)
        print(i[0],i[1])

func(str1)

 實現效果如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM