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中一些功能强大的内置函数,通过这些函数可以极大的提升我们编码效率,并给出了相应的代码示例。
到此这篇关于Python中不可错过的五个超有用函数的文章就介绍到这了,更多相关Python中的神仙级函数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!