lambda函数

一、lambda(兰姆达)直译意思是希腊字母表中的第11个字母(λ)

二、使用方法:将lambda函数赋值给一个变量,通过这个变量间接调用该lambda函数。

1、例如,执行语句add=lambda x, y: x+y,定义了加法函数lambda x, y: x+y,并将其赋值给变量add,这样变量add便成为具有加法功能的函数。例如,执行add(1,2),输出为3。

2、在比如num=lambda x: len(x),这样变量num便具有的统计长度的功能,输入aaddccdc,输出为8。

s = input()
num = lambda x: len(x)
output = num(s)
print(output)

输入:aaddccdc
输出:8

3、再比如sss=lambda x: s.count(x),这样变量sss便具有的统计数量的功能,输入aaddccdc,统计字母a的数量,输出为2。

s = input()
num = lambda x: s.count(x)
output = num("a")
print(output)

输入:aaddccdc
输出:2


三、配合sorted使用

sorted(iterable, *, key=None, reverse=False) 函数对所有可迭代的对象进行排序操作。

1、统计长度之后再做排序。

      key :指定带有单个参数的函数,用于从 iterable 的每个元素中提取用于比较的键,默认为                          None ,即直接比较元素;

      reverse=True,倒序排列。

list = ['a', 'bc', 'defg', 'handsome', 'qwerrtyyuu']

print(sorted(list,key=lambda x:len(x),reverse=True))

Output:
['qwerrtyyuu', 'handsome', 'defg', 'bc', 'a']

 2、统计数量之后再做排序

while True:
    try:
        s = input()
        ss = sorted(list(set(s)), key=lambda x: s.count(x)*1000-ord(x),reverse=True) #将统计的个数乘以1000再减去对应字符的ascii码,目的是如果统计的个数相同,则按照ASCII码由小到大排序输出
        print("".join(ss))
    except:
        break

输入:aaddccdc
输出:cda


 

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值