摘要: 函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。 我们来实现一个可变参数的求和。通常情况下,求和的函数是这样定义的: 但是,如果不需要立刻求和,而是在后面的代码中,根据需要再计算怎么办?可以不返回求和的结果,而是返回求和的函数: 当我们调用lazy_sum()时,返回 阅读全文
posted @ 2018-07-08 16:44 珊迪·奇克斯 阅读(1051) 评论(0) 推荐(0)
摘要: 排序也是在程序中经常用到的算法。无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小。如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来。 Python内置的sorted()函数就可以对list进行排序: 此 阅读全文
posted @ 2018-07-08 11:52 珊迪·奇克斯 阅读(229) 评论(0) 推荐(0)
摘要: Python内建的filter()函数用于过滤序列。 和map()类似,filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。 例如,在一个list中,删掉偶数,只保留奇数,可以这 阅读全文
posted @ 2018-07-08 11:36 珊迪·奇克斯 阅读(158) 评论(0) 推荐(0)
摘要: Python内建了map()和reduce()函数。 如果你读过Google的那篇大名鼎鼎的论文“MapReduce: Simplified Data Processing on Large Clusters”,你就能大概明白map/reduce的概念。 我们先看map。map()函数接收两个参数, 阅读全文
posted @ 2018-07-08 11:26 珊迪·奇克斯 阅读(173) 评论(0) 推荐(0)