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相当于下面这个函数

  1. def func(x,y):
  2. 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)