11月6日排序函数,匿名函数,回调函数,递归函数, zip函数

##### 排序sort, sorted的区别: list.sort(func=None, key=None, reverse=False(or True)) 对于reverse这个bool类型参数,当reverse=False时:为正向排序;当reverse=True时:为方向排序。默认为False。 执行完后会改变原来的list,如果你不需要原来的list,这种效率稍微高点 >>> list = [2,8,4,6,9,1,3] >>> list.sort() >>> list [1, 2, 3, 4, 6, 8, 9]

第二种:内建函数sorted() 这个和第一种的差别之处在于: sorted()不会改变原来的list,而是会返回一个新的已经排序好的list list.sort()方法仅仅被list所定义,sorted()可用于任何一个可迭代对象 该函数也含有reverse这个bool类型的参数,当reverse=False时:为正向排序(从小到大);当reverse=True时:为反向排序(从大到小)。当然默认为False。 >>> list = [2,8,4,1,5,7,3] >>> other = sorted(list) >>> other [1, 2, 3, 4, 5, 7, 8] #####

匿名函数:lambda 回调函数: callback

递归函数:在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。 函数的调用通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出,解决递归调用栈溢出的方法是通过尾递归优化, 尾递归是指,在函数返回的时候,调用自身本身,并且,return语句不能包含表达式。这样,编译器或者解释器就可以把尾递归做优化,使递归本身无论调用多少次,都只占用一个栈帧,不会出现栈溢出的情况。 栈溢出就是缓冲区溢出的一种

zip函数是将两个列表转换为字典的形式: keys = ['a', 'b', 'c'] values = [1, 2, 3] dictionary = dict(zip(keys, values)) print(dictionary) """ 输出: {'a': 1, 'c': 3, 'b': 2} """

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券