Chinaunix首页 | 论坛 | 博客
  • 博客访问: 259347
  • 博文数量: 91
  • 博客积分: 4185
  • 博客等级: 上校
  • 技术积分: 855
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-29 16:18
文章分类

全部博文(91)

文章存档

2014年(3)

2013年(1)

2012年(8)

2011年(2)

2010年(5)

2009年(68)

2008年(4)

我的朋友

分类: Python/Ruby

2009-04-15 16:00:09

python的内置函数功能比较丰富,而且相当灵活,目前掌握了几个比较常用的

1.lambda lambda其实就是一条语句,lambda(x):body。x是lambda函数的参数,参数可以有任意多个(包括可选参数);body是函数体,只能是一个表达式,并且直接返回该表达式的值。

>>>f=lambda x:x+1
>>>f(2)
3

>>>(lambda x,y:x+y)(2,3)

5

 

2.filter filter(func, list)接受两个参数:一个函数func和一个列表list,返回一个列表。函数func只能有一个参数。filter的功能:列表中所有元素作为参数传递给函数,返回可以另func返回真的元素的列表

>>>l=['abc','acd','1245','ddad','aaa']
>>>func(s)
... return s.startswith('a')
>>>filter(func, l)
['abc','acd','aaa']

 

3.zip  zip函数接受任意多个序列作为参数,将所有序列按相同的索引组合成一个元素是各个序列合并成的tuple的新序列,新的序列的长度以参数中最短的序列为准。另外(*)操作符与zip函数配合可以实现与zip相反的功能,即将合并的序列拆成多个tuple

>>>x=[1,2,3],y=['a','b','c']
>>>zip(x,y)
[(1,'a'),(2,'b'),(3,'c')]
>>>zip(*zip(x,y))
[(1,2,3),('a','b','c')]

阅读(1288) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~