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

首先,先简单介绍一下lambda函数的用法

1、max(num, key=lambda x:x[0])语法介绍如下:

key=lambda 元素: 元素[字段索引]

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

x:x[]字母可以随意修改,求最大值方式按照中括号[]里面的维度,[0]按照列表或元组的第一维个元素,[1]按照列表或元组的第二个元素取。

1083739-20200312145139788-258922388.png

表示在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)

实现效果如下:

1083739-20200312145748026-937553364.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值