匿名函数和几个和匿名函数相互合作

匿名函数 lambda 

函数体: lambda 参数: 返回值

1 ret = lambda x :x*2
2 print(ret(2))

和匿名函数相互合作多的内置函数

1.map ---------根据参数,改变返回值
1 例子:有一个列表【'a’,'b','c'】使用匿名函数把里面的参数都加上一个_sb例如
2          a_sb
3 
4 l = ['a', 'b', 'c']
5 ret = map(lambda x: x + '_sb', l)
6 print(list(ret))
2.filter---------帅选
1 例子:有一个数字【1,2,3,4,5,6,67,78,】使用匿名函数求偶数

3 l =【1,2,3,4,5,6,67,78,】
4 ret = filter(lambda x: x % 2 == 0, l)
5 print(list(ret))
作业:
1.有个文件,里面总共有20多行,每5行为一页,根据用户输入的页数,返回指 定页数的行数

with open('file', encoding='utf-8')as f:     读取文件
    ret = f.readlines()                      一条一条的读
pan_num = int(input('请输入要显示的页数'))     获取用户输入的页数,转换为int类型
pan, num = divmod(len(ret), 5)               使用取余函数,
if num:                                      
    pan +=1                                   如果有余数,页数+1
if pan_num >pan:                         
    print('输入的页数错误')
elif pan_num ==pan and num !=0:               如果用户输入的页数等于文本页数并且余数不为0
    for i in range(num):                      这里range的是余数,因为只有输出余数,
        print(ret[(pan_num-1)*5+i].strip())   
else:
    for i in range(5):                        range 5 因为一页是5行
        print(ret[(pan_num-1)*5+i].strip())

 

posted @ 2018-10-16 22:15  明朗学习之路  阅读(321)  评论(0编辑  收藏  举报