Python入门之匿名函数与字符串补充(校验码的生成)

1 匿名函数

1.1 什么是匿名函数:

匿名函数的关键字为 lambda,冒号前面是 形参 冒号后面是返回值 。
lambda函数能实现普通一样的功能,能传入参数,也能返回运算结果;不同的是lambda函数没有函数名,通常只有一行的表达式,函数的复杂程度也有限。
如果使用lambda(匿名)函数,map( )函数和reduce( )函数及filter()函数还能进一步简化如:print(reduce(lambda x,y:x+y,range(10)))
匿名函数示例:

def fun(*args,**kwargs):
     return args,kwargs

 print(fun([1,2,3,4,5]))

#将上面的fun函数改写为匿名函数
 print(lambda *args,**kwargs:(args,kwargs))

1.2 匿名函数应用:

(1)匿名函数求1-5的和 简化reduce函数

from functools import reduce
print(reduce(lambda x,y:x+y,[1,2,3,4,5]))

(2)输出1-100之间的偶数,简化filter函数

print(list(filter(lambda x:x%2==0,range(1,101))))

(3)移动列表中的0

nums = [0, 7, 0, 1, 2, 1, 5,1,  7, 8, 0, 67, 1, 3, 4]

print(sorted(nums,key=lambda x:1 if x == 0 else 0))

(4)将列表[0,1,2,3,4]的每个元素都平方然后输出

print(list(map(lambda x:pow(x,2),range(5))))

2 快速生成校验码

import random
import string
##快速生成随机的字母和数字
code_str = string.ascii_letters + string.digits
##打印随机生成的字母和数字
print(code_str)
##打印随机取出的4个字母或数字
print(random.sample(code_str,4))
def gen_code(len=4):
    ##在随机生成的随机字母和数字忠任意取4个拼接成4位内推码
    return ''.join(random.sample(code_str,len))

##调用函数生成四位内推码
print(gen_code())

##一次生成10个随机4位内推码
print([gen_code() for i in range(10)])

结果:
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
['U', 'a', '3', 'z']
I3Oy
['dLT3', 'plJt', 'gQy1', 'MRDu', 'UXSm', 'PMCN', 'nNdo', 'SvnU', 'qlxb', 'Ey9X']

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值