统计字符串单词出现的个数并排序


首先,先简单介绍一下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