b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

python 变量命名规范#是注释。通过空格进行缩进,当一行(8)

电脑杂谈  发布时间:2018-02-10 22:04:08  来源:网络整理

map()函数接收两个参数,第一个是函数,第二个是Iterable(可迭代对象)。map将函数作用与序列的每一个元素,并作为结果返回Iterator(迭代器)。举例如下:

reduce()函数也接收两个参数,第一个是函数,第二个是Iterable。reduce将函数作用在序列上,将结果继续和序列的下一个元素做累积计算。效果就是:

举例如下:将[1,3,5,7,9]转化为13579

map()可以与reduce()配合起来使用:实现将str转化为int,只需要几行代码

filter()也接收一个函数和一个Iterable序列,将函数依次作用与序列中的每个元素,然后保留返回True的元素,丢弃返回False的元素,最终返回Iterator序列。通过help()了解filter的说明:

>>> help(filter)

Help on class filter in module builtins:

class filter(object)
 |  filter(function or None, iterable) --> filter object
 |
 |  Return an iterator yielding those items of iterable for which function(item)
 |  is true. If function is None, return the items that are true.

filter()主要是实现筛选功能。例如:筛选list中的奇数

sorted()函数可以对Iterable序列进行排序。默认是从小到大的升序,也可指定reverse=True改为从大到小。它还可以接受一个函数key来自定义排序方法:该函数会作用与序列的每一个元素,然后根据key函数返回的结果进行排序。

# 对list进行排序
>>> sorted([1, -5, 3])      
[-5, 1, 3]
# 接收key函数实现自定义排序,按绝对值大小排序
>>> sorted([1, -5, 3], key=abs)     
[1, 3, -5]
# 反向排序
>>> sorted([1, -5, 3], key=abs, reverse=True)
[-5, 3, 1]

高阶函数除了能将函数作为参数,还可将函数作为返回值。例如:

>>> def lazy_sum(*args):
...     def sum():
...         s = 0
...         for n in args:
...             s = s + n
...         return s
...     return sum      # 返回求和函数
...
>>> f=lazy_sum(1,2,3,4,5)   # 调用lazy_sum时,返回求和函数而不是求和结果
>>> f
<function lazy_sum.<locals>.sum at 0x101c09ae8>
>>> f()                 # 调用f()时,才会计算求和结果
15

闭包:在上面的例子中,lazy_sum函数中定义了函数sum,内部sum函数可以引用外部函数lazy_sum的参数和局部变量(args)。当lazy_sum返回sum时,相关参数和变量(args)都保存在返回的sum函数中,这种成为闭包。返回闭包时候需要注意一点:返回函数不要引用任何循环变量,或者后续会发生变化的变量。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-70754-8.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...