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

每天十分钟,十二天入门Python(四)

时间:2014-12-08 12:39:36      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:style   ar   color   sp   for   java   on   bs   ad   

map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。


def num(x):
   return
x*x

print map(num,[1,2,3,4,5,6,7,8,9])

# [1, 4, 9, 16, 25, 36, 49, 64, 81]

reduce()把一个函数作用在一个序列[x1, x2, x3...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是:


def add(x,y):
   return
x+y

print reduce(add,[1,3,5,7,9])

#25


def list2num(x,y):
   return
x*10+y

print reduce(list2num,[1,3,5,7,9])

#13579

sorted()函数就可以对list进行排序:


print sorted([3,6,8,9,4,1,2])
#[1, 2, 3, 4, 6, 8, 9]

def reversed_cmp(x,y):
   if
x>y:
       return -
1
   
else:
       return
1
   
return 0

print sorted([3,6,8,9,4,1,2],reversed_cmp)
# [9, 8, 6, 4, 3, 2, 1]

python中得闭包,和javascript中很类似:


def lazy_sum(*args):
   def
s():
       return
sum([x for x in args])
   return s

f = lazy_sum(1,2,3,4,5)

print f()
# 15
f2 = lazy_sum()

print f2()
# 0

通过lambda实现匿名函数:


f = lambda x: x*x

print f(5)
# 25

每天十分钟,十二天入门Python(四)

标签:style   ar   color   sp   for   java   on   bs   ad   

原文地址:http://my.oschina.net/blogshi/blog/353646

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