Python基础-高阶函数及练习题
1:map()函数
‘’’
map(func,iter1)
func: 函数,有且只有一个参数,并且此函数有返回值.
iter1: 可迭代对象
功能:将可迭代对象中的元素依次取出,作用于func函数,并且作用的结果以迭代器的方式返回
‘’’
习题:
‘’’
1,用map()函数把 list1 = [13,445,6,65,‘887’,‘234’,34,‘3455’,‘234’] , 变成
list2 = [13,445,6,65,887,234,34,3455,234], (把list1中的元素全变成int类型).
解: print(list(map(int,list1)))
注解:加 list 是因为 返回的是一个迭代器,要list一下才能显示为数字.
2:reduce()函数
‘’’
reuce(func,iter1)
func:函数,有且只有两个参数
iter1:可迭代对象
功能:将可迭代对象中的元素依次取出,并作用func函数,把作用的结果作为下一次参数继续运算.
‘’’
习题:
首先要导入functools模块中的reduce
from functools import reduce
1,用reduce()函数求:1+2+…1000
解:print(reduce(lambda x,y: x+y,range(1,101)))
3:filter()函数
filter(func,iter)
func:函数 有且只有一个参数
iter:可迭代对象
功能:将可迭代对象中的元素依次取出,并作用于funce函数,根据func函数返回的结果决定是否保留该元素,返回真True保留,返回假False不保留,结果作为迭代器返回.
习题:
1,用filter() 函数 去掉 list1 = [1,2,3,12,34,21,23,12,3] 中的偶数.
解:
print(list(filter(lambda x: True if x%2 else False,list1)))
4sorted()函数
sorted(iter,key,reverse)
iter;可迭代对象
key:决定比较的结果,后面跟的是函数
reverse: 是否降序,默认为升序
习题:
1,用sorted()函数 升序 list1 = [13,445,6,65,‘887’,‘234’,34,‘3455’,‘234’] .
解:
print(sorted(list1,key=int))