Python 的 3个高级特性及其使用方法-python 高级技巧
好久没有给大家介绍Python了,所以今天给大家带来的是Python 的3 个高级特性。让你能够更加优雅舒适的使用Python。
(1) Lambda 函数
Lambda 函数是一个小型的匿名函数— 匿名的意思是它实际上没有名称。
Python 函数通常使用的样式定义def afunctionname(),但对于 lambda 函数,我们根本不给它命名。我们这样做是因为 lambda 函数的目的是执行某种简单的表达式或操作,而无需完全定义函数。
lambda 函数可以接受任意数量的参数,但必须始终只有一个表达式:
x = lambda a, b: a * bprint(x(5,6))# prints 30y = lambda a: a *3 +3print(y(3))# prints 12
看看那是多么容易!我们执行了一些基本的数学运算,而无需定义完整的函数。这是 Python 的众多特性之一,使其成为一种干净简单的编程语言。
(2) map
Map()是一个内置的 Python 函数,用于将函数应用于一系列元素,如列表或字典。这是执行此类操作的一种非常简洁且最重要的可读方式。
def squareitfunc(a): return a * ax = list(map(squareitfunc,[1,4,7]))print(x)# prints [1,16,47]def multiplierfunc(a, b): return a * by = list(map(multiplierfunc,[1,4,7],[2,5,8]))print(y)# prints [2,20,56]
看看上面的例子!我们可以将我们的函数应用于单个列表或多个列表。实际上,您可以将映射与您能想到的任何 python 函数一起使用,只要它与您正在操作的序列元素兼容即可。
(3)Filter
Filter内置函数与Map函数非常相似,因为它将函数应用于序列(列表、元组、字典)。关键区别在于filter()只会返回应用函数返回为True的元素。
查看下面的示例以获取说明:
lambda 函数可以接受任意数量的参数,但必须始终只有一个表达式:
numbers =[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]def filteroddnumbers(num): if num %2 ==0: return True else: return Falsefilterednumbers = list(filter(filteroddnumbers, numbers))#过滤掉false的值print(filterednumbers)# filterednumbers =[2,4,6,8,10,12,14]
我们不仅为每个列表元素评估 True 或 False,*filter()*函数还确保只返回匹配为 True 的元素。非常方便处理检查表达式和构建返回列表两个步骤。
以上就是今天分享的内容
如果有其他问题可以通过公众号python玩转联系作者