几个比较常用的,翻译了一点官方文档。文档http://docs.python.org/2/library/functions.html#built-in-functions
startswith,endswith
str.endswith(suffix[, start[, end]])
str.startswith(prefix[, start[, end]])
>>> s="python"
>>> s.startswith('py')
True
>>> s.startswith('th',2)
True
>>> s.startswith(('py','yt'))
True
>>> s.startswith(('py','yt'),1)
True
判断字符串是否以suffix结尾,以prefix开始,是,返回true。stat,end是截取字符串。从python2.5开始,支持元祖。
lambda
匿名函数
>>> f = lambda x:x+1
>>> f(2)
3
>>> (lambda x,y:x*y)(2,3)
6
内建函数开始:
zip([iterable, ...])
返回一个元组列表,由每个参数队列的第i个元素组成元祖。列表的长度是参数队列里面最短的一个的长度。一个参数返回一个一元元组??的列表,无参数返回空列表。zip(*[iter(s)]*n)是个逆操作?
>>> a=[1,2,3]
>>> b=[4,5,6]
>>> c=[4,5,6,7,8,9]
>>> zip(a,b)
[(1, 4), (2, 5), (3, 6)]
>>> zip(a,c)
[(1, 4), (2, 5), (3, 6)]
>>> zip(a)
[(1,), (2,), (3,)]
>>> zip()
[]
>>> zip(*[(1, 4), (2, 5), (3, 6)])
[(1, 2, 3), (4, 5, 6)]
>>> x,y = zip(*[(1, 4), (2, 5), (3, 6)])
>>> print x,y
(1, 2, 3) (4, 5, 6)
filter(function, iterable)
返回一个列表,由iterable里元素能使function返回真的元素构成。当iterable是元组或者字符串时,返回类型不变,其他返回list。如果function为None,将假定一个function,iterable的元素都符合(文档咋没看懂,感觉正好相反)。
filter(function, iterable)等价[item for item in iterable if function(item)],这个肯定是列表啊,不一定等价
function为None,等价[item for item in iterable if item]。
>>> filter(lambda x:x>2,[1,2,3,4])
[3, 4]
>>> filter(None,[1,2,3,4])
[1, 2, 3, 4]
>>> filter(lambda x:x>'c',"abcdef")
'def'
map(function, iterable, ...)
将每一个iterable的元素带入function,组成列表返回。
>>> map(lambda x:x+2,[1,2,3,4])
[3, 4, 5, 6]
reduce(function, iterable[, initializer])
从左到右依次取iterable中的元素,带入function。initializer是初始值,function有两个参数,有初始值第一个参数为初始值,第二个从iterable中取,然后执行function,结果带入第一个参数,第二个参数取iterable下一个元素。
>>> a=[1,2,3,4]
>>> reduce(lambda x,y: x+y,a)
10
>>> reduce(lambda x,y: x+y,a,10)
20
上一篇: Python源码剖析笔记-Python对象初探
下一篇: 编写chrome扩展遇到“即将停止支持清单版本 1。请升级到版本 2。”
0 Responses so far.