您的位置:首页 > 编程语言 > Python开发

python常用函数

2015-08-03 19:31 579 查看
map()利用map()函数可以把一个 list 转换为另一个 list只需要传入转换函数。由于list包含的元素可以是任何类型因此map() 不仅仅可以处理只包含数值的 list事实上它可以处理包含任意类型的 list只要传入的函数f可以处理这种数据类型。
def format_name(s):
return s[0].upper()+s[1:].lower()
print map(format_name, ['adam', 'LISA', 'barT'])
['Adam', 'Lisa', 'Bart']
reduce()reduce()函数接收的参数和 map()类似一个函数 f一个list但行为和 map()不同reduce()传入的函数 f 必须接收两个参数reduce()对list的每个元素反复调用函数f并返回最终结果值。
def prod(x, y):print x,y,x*yreturn x*y
print reduce(prod, [2, 4, 5, 7, 12])
2 4 8
8 5 40
40 7 280
280 12 3360
3360
strip()s为字符串rm为要删除的字符序列s.strip(rm) 删除s字符串中开头、结尾处位于 rm删除序列的字符s.lstrip(rm) 删除s字符串中开头处位于 rm删除序列的字符s.rstrip(rm) 删除s字符串中结尾处位于 rm删除序列的字符
#当rm为空时默认删除空白符包括'\n', '\r', '\t', ' ')>>> a = ' 123'>>> a.strip()'123'>>> a='\t\tabc''abc'>>> a = 'sdff\r\n'>>> a.strip()'sdff'#rm删除序列是只要边开头或结尾上的字符在删除序列内就删除掉。>>> a = '123abc'>>> a.strip('21')'3abc' 结果是一样的>>> a.strip('12')'3abc'
filter()filter()函数接收一个函数 f 和一个list这个函数 f 的作用是对每个元素进行判断返回 True或 Falsefilter()根据判断结果自动过滤掉不符合条件的元素返回由符合条件元素组成的新list。
#请利用filter()过滤出1~100中平方根是整数的数import mathdef is_sqr(x):r = int(math.sqrt(x))return r*r==xprint filter(is_sqr, range(1, 101))
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
sorted()传入两个待比较的元素 x, y如果 x 应该排在 y 的前面返回 -1如果 x 应该排在 y 的后面返回 1。如果 x 和 y 相等返回 0。
#对字符串排序时有时候忽略大小写排序更符合习惯。请利用sorted()高阶函数实现忽略大小写排序的算法。输入['bob', 'about', 'Zoo', 'Credit']def cmp_ignore_case(s1, s2):if s1[0].lower()>s2[0].lower():return 1else:return -1
print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
lambda匿名函数在Python中对匿名函数提供了有限支持。还是以map()函数为例计算 f(x)=x2 时除了定义一个f(x)的函数外还可以直接传入匿名函数
>>> map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])[1, 4, 9, 16, 25, 36, 49, 64, 81]
通过对比可以看出匿名函数 lambda x: x * x 实际上就是def f(x):return x * x关键字lambda 表示匿名函数冒号前面的 x 表示函数参数。匿名函数有个限制就是只能有一个表达式不写return返回值就是该表达式的结果。转自吾爱笔记博客
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: