Some Usefull python function
Python Lambda
在读别人代码的时候看到的,发现自己对这个东西不是很熟悉,复习一下记个笔记。
lambda 函数是一种小的匿名函数。
lambda 函数可接受任意数量的参数,但只能有一个表达式。
语法
lambda arguments : expression
执行表达式并返回结果
实例
1 | x = lambda a : a + 10 |
这一句话就定义了一个lambda函数,a是这个函数的参数,a+10是这个函数的表达式,x是这个函数的名字。
Lambda可以接受任意数量的参数,比如
1 | x = lambda a, b, c : a + b + c |
这个函数就是三个参数
函数内匿名函数
假设我定义了这么一个函数
1 | def myfunc(n): |
这个函数的作用是把a变成n倍。
1 | def myfunc(n): |
这样就可以很快速地构建出来这样的一个函数:
1 | def mydoubler(a): |
不需要想用别的的时候再去定义,比如我还想再来一个三倍的函数,就直接:
1 | mytripler = myfunc(3) |
zip
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。
我们可以使用 list() 转换来输出列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 ***** 号操作符,可以将元组解压为列表。
语法
1 | zip([iterable, ...]) |
实例
1 | >>>a = [1,2,3] |
map
map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表
语法
1 | map(function, iterable, ...) |
实例
1 | >>>def square(x) : # 计算平方数 |
dict
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:
'd = {key1 : value1, key2 : value2 }'