3 个关键字让你的 Python 代码更优雅
1. Map
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 个示例,我们可以将它们转换为:2. Reduce
reduce
函数的工作原理类似于 map-reduce 中的 reduce 概念。它接受一个数据流,或者在 Python 语言中,一个可迭代对象,并将函数从左到右应用于迭代器。使用reduce
关键字可以像map
关键字一样创建简洁的语句。reduce
和之间的一个关键区别map
是reduce
将函数累积地应用于您的可迭代对象。这意味着它首先从可迭代对象中获取 n 个参数,然后返回 1 个结果,然后从可迭代对象中获取下一个 n-1 个参数,并与之前的 1 个结果结合形成下一个 n 个参数以传递给您的函数。换句话说,reduce
关键字旨在将您的可迭代结果减少到 1 个。map
toreduce
关键字变为我们的结果从一个迭代器变为一个 int。reduce
关键字的作用大致相当于以下函数:reduce
终返回一个值,而不是 map
可迭代对象。当然,你总是可以将map
和reduce
组合在一起产生一个强有力的声明。例如,以下代码片段可以在一行内计算列表的欧几里得范数:map
和在reduce
Python 和一般编程中超级有用和强大,请随意使用它!3. Filter
map
and都不能reduce
正常工作,这就是filter
关键字的用武之地。基本语法仍然与 map
和 reduce
相同,只是除了filter
的函数参数必须返回一个布尔值,在 Python 中称为谓词。现在,让我们输入代码:filter
关键字返回一个可迭代的,就像map
,而不是一个值。当然,在Python中,将filter, map, reduce
结合起来创建更复杂的一行程序是很自然的。例如,假设我们要计算所有偶数的平方和:来自:Linux迷
链接:https://www.linuxmi.com/3-keywords-python-code.html
相关文章