码迷,mamicode.com
首页 > 编程语言 > 详细

day4 python学习随笔

时间:2015-11-17 19:26:42      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:python   filter   reduce   元素   result   

  1. 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)
[0123456789]
>>> 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

day4 python学习随笔

标签:python   filter   reduce   元素   result   

原文地址:http://jzzjw.blog.51cto.com/9921462/1713414

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!