Python特殊语法:filter,map,reduce,lambda
**filter(function, sequence):**
function的返回值只能是True或False
把sequence中的值逐个当参数传给function,如果function(x)的返回值是True,就把x加到filter的返回值里面
对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回
**map(function, sequence):**
对sequence中的item依次执行function(item),将执行结果组成一个List返回
**reduce(function, sequence, starting_value):**
function接收的参数个数只能为2
先把sequence中第一个值和第二个值当参数传给function,再把function的返回值和第三个值当参数传给
function,然后只返回一个结果
对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值调用:
**lambda:**
这是Python支持一种有趣的语法,它允许你快速定义单行的最小函数
例子:func = lambda x,y:x+y
func相当于下面这个函数
def func(x,y):
return x+y
列表的深拷贝和浅拷贝
1.深拷贝import copy;listb=copy.deepcopy(lista)
2.浅拷贝
listb=lista[:]
listb=list(lista)
listb=[i for i in lista]
import copy;listb=copy.copy(lista)