首页 > 应用开发 > > 3 个关键字让你的 Python 代码更优雅
map函数?map函数有两个参数,第一个是您要应用的函数,第二个或多个后续参数是您希望该函数应用到的可迭代对象。让我们看下一个个例子:
map(function_you_want_to_apply, your_list). 请注意,您当然可以将您的函数应用于列表之外的任何可迭代对象。此外,该map函数将返回一个迭代器,您需要迭代返回的迭代器以获取所有结果。
square,Python 会抱怨的。map函数结合使用,以使您的代码简洁。Python 中的 lambda 表达式采用lambda your_arguments_to_take_in : expression_to_return. 例如,对于上述 2 个示例,我们可以将它们转换为:
reduce函数的工作原理类似于 map-reduce 中的 reduce 概念。它接受一个数据流,或者在 Python 语言中,一个可迭代对象,并将函数从左到右应用于迭代器。使用reduce关键字可以像map关键字一样创建简洁的语句。reduce和之间的一个关键区别map是reduce将函数累积地应用于您的可迭代对象。这意味着它首先从可迭代对象中获取 n 个参数,然后返回 1 个结果,然后从可迭代对象中获取下一个 n-1 个参数,并与之前的 1 个结果结合形成下一个 n 个参数以传递给您的函数。换句话说,reduce关键字旨在将您的可迭代结果减少到 1 个。
maptoreduce关键字变为我们的结果从一个迭代器变为一个 int。reduce关键字的作用大致相当于以下函数:
reduce最终返回一个值,而不是 map可迭代对象。当然,你总是可以将map和reduce组合在一起产生一个强有力的声明。例如,以下代码片段可以在一行内计算列表的欧几里得范数:
map和在reducePython 和一般编程中超级有用和强大,请随意使用它!mapand都不能reduce正常工作,这就是filter关键字的用武之地。基本语法仍然与 map 和 reduce相同,只是除了filter的函数参数必须返回一个布尔值,在 Python 中称为谓词。现在,让我们输入代码:
filter关键字返回一个可迭代的,就像map,而不是一个值。当然,在Python中,将filter, map, reduce结合起来创建更复杂的一行程序是很自然的。例如,假设我们要计算所有偶数的平方和:
来自:Linux迷
链接:https://www.linuxmi.com/3-keywords-python-code.html
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/810/viewspace-3150447/ ,如需转载,请注明出处,否则将追究法律责任。