Python 练习
标签(空格分隔): Python Python练习题 Python知识点
一.使用匿名函数对1~1000求和,代码力求简洁。
答案:
In [1]: from functools import reduce
In [2]: print(reduce(lambda x, y: x + y, range(1, 1001)))
Out[2]: 500500
知识点:
1. 匿名函数:lambda 参数:表达式
lambda语句中,开头先写关键字lambda,冒号前是参数,可以有多个,用逗号隔开;冒号右边的为表达式,需要注意的是只能有一个表达式。由于lambda返回的是函数对象(构建的是一个函数对象),所以需要定义一个变量去接收。在内置函数 max() 求最大值,min()求最小值, map() 映射, reduce 合并, filter() 过滤 中会用到!
2. 高阶函数:把函数作为一个参数传入到另一个函数中
1> map()
python内置的一个高阶函数,它接收两个参数,一个是函数,一个是```Iterable```(可遍历对象,如列表),```map```将传入的函数依次作用到序列的每个元素,并把结果作为新的```Iterator```(迭代器)返回。
简单代码举例:求f(x)=x*x
In [8]: def f1(x):
...: return x * x<