语法:{key_exp:value_exp for item in collection if codition}
print({'No.'+str(k):str(v)for k, v inenumerate(range(1,10))if v <3})
集合推导式
语法:{exp for item in collection if codition}
print({i for i inrange(10)if i %2==1})
嵌套列表推导式
print([item for lst in[range(10),range(10,20)]for item in lst if item %2==1])
多函数模式
defminus(i):return i -1defadd(i):return i +10defprocess(list, functions):
result =[]for item inlist:for function in functions:
item = function(item)
result.append(item)return result
print(process(range(10),[add, minus]))
匿名函数
print((lambda x: x +10)(1))
map python3.x 返回迭代器
print([x for x inmap(add,range(10))if x %2==0])
reduce
from functools importreducedefaddtwo(x, y):return x + y
print(reduce(addtwo,range(10)))
filter 返回生成器
print([i for i infilter(lambda y: add(minus(y))>=0,range(-20,10))if i %2==0])