标签:python filter reduce 元素 result
map reduce filter使用
map 遍历序列,对序列中每个元素进行操作,最终获取新的序列
例1
li = [11, 22, 33] new_list = map(lambda a: a + 100, li)
例2
li = [11, 22, 33] sl = [1, 2, 3] new_list = map(lambda a, b: a + b, li, sl)
reduce 对于序列中的元素进行筛选,最终获取符合条件的序列
li = [11, 22, 33] new_list = filter(lambda arg: arg > 22, li)
reduce 对于序列内所有元素进行累计操作
li = [11, 22, 33] result = reduce(lambda arg1, arg2: arg1 + arg2, li,1000) # reduce的第一个参数,函数必须要有两个参数 # reduce的第二个参数,要循环的序列 # reduce的第三个参数,初始值 #arg1+1000+arg2
2.分页divmod
divmod(总条目数,每页最大容纳条目数)
输出(页数,余数)
3.yield
如代码所示,range会在内存中创建所有指定的数字,而xrange不会立即创建,只有在迭代循环时,才去创建每个数组。
>>>
print
range
(
10
)
[
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
]
>>>
print
xrange
(
10
)
xrange
(
10
)
4.lambda使用。
my_lambda = lambda arg : arg + 1
5.装饰器
装饰器是函数,只不过该函数可以具有特殊的含义,装饰器用来装饰函数或类,使用装饰器可以在函数执行前和执行后添加相应操作
def
wrapper(func):
def
result():
print
‘before‘
func()
print
‘after‘
return
result
@wrapper
def
foo():
print
‘foo‘
6.冒泡算法
相邻两个值进行比较,将较大的值放在右侧,依次比较!
例: li = [13, 22, 6, 99, 11] for i in range(len(li)): for m in range(i-1): if li[m] > li[m+1]: li[m],li[m+1]=li[m+1],li[m]
本文出自 “砺器悟道” 博客,请务必保留此出处http://jzzjw.blog.51cto.com/9921462/1713414
标签:python filter reduce 元素 result
原文地址:http://jzzjw.blog.51cto.com/9921462/1713414