Python中的神仙级函数
赵卓不凡 人气:01.引言
在本文中,我们用代码详细说明了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中一些功能强大的内置函数,通过这些函数可以极大的提升我们编码效率,并给出了相应的代码示例。
加载全部内容