让我们做一个有趣的练习来测试我们的理解, 我们将使用lambda表达式｡
现在我想让你创建一个lambda表达式来平方我们的列表｡
假设我们有我的清单, 这是我的清单｡
我们有五, 四, 三｡
现在我想让你创建一个一行的lambda表达式, 它将被打印出来｡
一个平方列表｡
所以5的2倍就是25｡
四的二次方等于十六, 三的二次方等于九｡
所以一个包含这些值的列表使用lambda表达式｡
所以你们的第一个挑战是平方｡
下一个挑战｡
这个有点坚韧｡
我们要做一些列表排序｡
让我们在这里做正方形, 这样你就可以看到｡
而在这个列表中, 排序｡
我有一个名单｡
还有这份名单｡
嗯, 这是一个坚韧的｡
我们有一个从0到的元组列表｡
然后是一个元组, 比如说, 三个｡
一个元组, 比如说9, 9, 最后一个元组是10-1｡
现在, 我要你做的是排序｡
这一点建立在第二个基础上｡
物有所值｡
请确保这是一个逗号｡
所以我希望这个元组被排序在第一个因为-1是最低的, 然后这个元组因为2是第二个最高的.
然后这个元组｡
那么, 如何使用lambda表达式来实现这一点呢？
现在, 这是一个棘手的问题｡
所以如果你不明白, 别担心｡
在此暂停视频｡
你慢慢来
看看你能不能解决这个问题｡
否则, 我就要开始回答了｡
这个对你来说应该很简单吧
我们可以简单地做一个地图功能或者你知道吗？
假设new list等于我们要映射的一个列表.
在这里, 我们什么都见过｡
我会说Lambda｡
数字是2的幂｡
以及我将要列出的清单｡
将是我的名单｡
如果我运行这个｡
你去那里｡
慢慢来｡
很好｡
别紧张
一个班轮｡
那这个呢
这个有点坚韧, 你真的得好好想想｡
我们已经学习了点排序方法, 对吧？
实际上, 是那种｡
好吧, 让我们看看如果我只是这样排序会发生什么｡
如果我打印了一个点排序, 我点击运行｡
我没有得到, 因为它修改了列表的地方｡
因此, 我们在排序之后打印｡
如果我单击“运行”｡
好吧, 我会的
它｡
我是说, 看起来第一个人已经搞定了｡
如果我们把这个移走呢？
还有中间的这个｡
然后单击“运行”｡
好吧, 我会的
看起来像是在为我排序, 但它是根据第一个项目排序的｡
但是我想把第二个项或者我们称之为第二个关键字作为排序因子｡
如果你看这里, 如果我们排序, 我必须给予它一个键｡
我们希望钥匙是｡
来｡
那么我们如何才能做到呢？
我们可以这样做｡
我们可以说键是相等的｡
每一个第二个键我们可以用lambda表达式｡
我们可以说lambda｡
所以默认参数｡
是x的λ然后简单地说x为1｡
嗯嗯嗯
让我们来看看这个｡
我想说的是, 嘿, 我要你运行排序函数｡
当我对所有的东西进行排序时, sword函数的关键是我想让它遍历每一项｡
我得到的是X是这个元组｡
我想让你用我们要返回的值, 也就是第二个｡
所以关键总是在第二项｡
现在如果我们运行这个｡
你看那个｡
我们可以分类｡
由第二项｡
如果他没收到这个, 别担心｡
这是相当坚韧的, 你很难习惯这种语法, 也很难知道排序是以这种方式工作的｡
但我们的目标是向你展示这是你可以用lambda函数做的一件常见的事情｡
以及确保您可以使用不同的键进行排序的方法｡
例如, 这将适用于字典或列表中的另一个列表｡
这是调整排序的常用方法, 您只需记住这种模式｡
但是它向你展示了lambda的强大, 如果我们只需要一个一次性的函数,
我们就不需要写这些复杂的函数｡
只是一个返回简单结果的函数｡
Lambda是一个很好用的工具, 但是如果你没有得到它, 就像我说的, 不用担心｡
这是你必须记住的事情之一｡
我们休息一下, 下一场见｡
再见, 再见, 再见