Python中的五个神仙级函数一起来看看
目录
- 1.引言
- 2. Lambda 函数
- 3. Map 函数
- 4. Filter 函数
- 5. Zip 函数
- 6. Reduce 函数
- 总结
1.引言
在本文中,我们用代码详细说明了Python中超实用的5个函数的重要作用。
这些函数虽然简单,但却是Python中功能最强大的函数。
Python有许多库和内置函数,理解并正确使用这些函数有助于帮助我们进行高效地编程。
2. Lambda 函数
Lambda函数是Python中功能最强大的函数之一,它有时也被称之为匿名函数.
它之所以被称为匿名函数,是因为我们可以实例化和声明一个没有名字的函数。如果要执行单个操作,使用lambda函数替代传统函数非常有用。Lambda与普通函数类似,只是它只能返回一个表达式。
接下来我们使用Lambda函数来求表达式 (a+b)^2的值
代码如下:
answer = lambda a, b: a**2 + b**2 + 2*a*b print(answer(3, 6))
注意点如下:
- Lambda函数的语法为:
lambda arguments: expression
- Lambda函数不需要函数名字,返回使用Lambda关键字的语句。
- 请注意,上述Lambda函数使用变量answer来调用。
- 我们也可以在其他函数中使用Lambda函数。
- Lambda与普通函数类似,只是它只能返回一个表达式。
3. Map 函数
Map是程序员用来简化程序的Python内置函数,此函数可以在不使用任何循环的情况下对所有指定的元素进行迭代。
接下来我们使用Map函数来对两个list相应元素求和并生成新的list
def add_list(a,b): return a+b output = list(map(add_list,[2,6,3],[3,4,5])) print(output)
注意点如下:
- Map函数的语法为:
map(function,iterables)
- 上述例子中,我们自定义的函数
add_list
的功能是对两个变量进行求和 - 上述例子运行的结果为另一个list [5, 10, 8]
- 如果我们想要探索更多map函数的功能,我们可以使用lambda替换上述函数,当然我们也可以不只是针对list操作,也可以对tuple和set进行操作。
4. Filter 函数
Filter是Python中的另一个内置函数,当需要区分其他类型的数据时,这个函数非常有用。Filter函数经常用于根据特定过滤条件来提取数据。
def is_positive(a): return a>0 output = list(filter(is_positive,[1,-2,3,-4,5,6])) print(output)
注意点如下:
- Filter函数的语法为:
filter(function,iterable)
- 上述自定义的函数必须要求返回bool型的值
- Filter函数只返回满足自定义函数返回值为真的那些元素
- 上述例子的返回值为 [1,3,5,6]
5. Zip 函数
zip 是Python中另一个内置函数,主要用于从数据库的不同列中提取数据并将其更组合为元组。
user_id = ["12121","56161","33287","23244"] user_name = ["Mick","John","Tessa","Nick"] user_info = list(zip(user_name,user_id)) print(user_info)
注意点如下:
- Zip函数的语法为:
zip(*iterables)
- 该函数主要作用为将两个给定的列表组合成一个元组。
- 上述例子的输出为
[(‘Mick’, ‘12121’), (‘John’, ‘56161’), (‘Tessa’, ‘33287’), (‘Nick’, ‘23244’)]
6. Reduce 函数
当需要对给定列表中的所有元素使用相同的操作时使用Reduce函数。
代码如下:
import functools def sum_two_elements(a,b): return a+b numbers = [6,2,1,3,4] result = functools.reduce(sum_two_elements, numbers) print(result)
注意点如下:
Reduce 函数的语法为: functools.reduce(function, iterable)
Reduce 函数不是Python内置函数,使用该函数时需要导入functools 模块上述代码的输出为16,实现对list所有元素求和的功能 7. 总结
本文重点介绍了Python中一些功能强大的内置函数,通过这些函数可以极大的提升我们编码效率,并给出了相应的代码示例。
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!