【Python】高阶函数

filter

def is_palindrome(n):
    L = str(n)
    i = 0
    j = len(L) - 1
    while i != j:
        if L[i] != L[j]:
            return False
        i += 1
        j -= 1
    return True

 

sorted

1、可以作用于list(包括字符串、数字),返回排序好的list。

2、不传入key。

>>> sorted([1, 3, 2, 4, 9, 5])
[1, 2, 3, 4, 5, 9]

3、传入key。

>>> sorted([1, 3, 2, 4, 9, 5], key = lambda x: -x)
[9, 5, 4, 3, 2, 1]

 

返回函数

1、返回值函数的函数:传入函数的参数用于构造一个新的函数(这个函数的内部要使用到传入的参数),最后返回这个新构造的函数,一定程度上实现动态构造函数。

def add_a_number_creator(n):
    def add_a_number(m):
        return m + n
    return add_a_number
>>> sum = add_a_number_creator(10)
>>> sum(1)
11

 

posted @ 2017-03-16 21:36  xkfx  阅读(144)  评论(0编辑  收藏  举报