详解Python匿名函数lambda。


Paradoxical想对列表里的元素进行排序,可是不知道咋办,因而就去询问小哥哥。
app


我:小哥哥,我想对列表里的元素进行排序,要怎么办呢?
ide


惨绿青年:调用list.sort()就好了。self是列表自己,这个不用填。key是用来做为排序根据的函数,该函数会应用于列表中的全部元素,并按照返回的结果进行排序。reverse是按相反的顺序来排序,默认为False,即按正常的顺序来排序。这个方法会直接修改列表。若是不想对原列表进行修改,想返回一个排序后的列表能够用sorted(),参数是差很少的。函数

图片

图片



我:原来是酱紫,我懂了。可是有时候排序只须要使用一次,这样的话写一个函数代码是否是有点麻烦鸭?
spa


惨绿青年:这时候就要使用到匿名函数了。
orm


我:啥是匿名函数鸭?
对象


惨绿青年:匿名函数就是用lambda关键字定义的函数,可是没有名字。匿名函数的定义方式也和普通函数不同,代码比较简洁,因此多做为参数去使用。下图的x就是形式参数,x+1就是表达式,也就是函数体,该函数会返回x+1的计算结果。blog

图片



惨绿青年:匿名参数要调用的话能够赋值给一个变量,但这样的话就没用必要定义匿名函数。由于匿名参数多用于一次性的场景。例如对列表排序。
排序

图片



惨绿青年:上图对列表排序的匿名函数将传入的元素用split()分开取出数字部分,而后把字符串转为数字,按照这个规则来排序。匿名函数还能应用于高阶函数filter()map()filter()是过滤函数,用来过滤符合规则的元素。map()是对可迭代对象的每个参数使用函数。这两个函数都会返回新的可迭代对象。图片

图片



我:学到了学到了~ci

相关文章
相关标签/搜索