python之函数式编程(一)

函数式 编程就是说可以在自定义的函数中,在套用别的函数作为参数变量。

比如:map(f,list)  这里边f就是另一个函数f=x*x。list是一个列表,结合之后结果输出的就是list列表每个数据的平方组成的新的List。

下边简单说一下都有哪些这样的函数式函数。

1.map()函数的使用,接受一个参数同时进行。

def format_name(s):
    return s.capitalize()

print map(format_name, ['adam', 'LISA', 'barT'])


//输出结果就是

['Adam', 'Lisa', 'Bart']

2.reduce()函数,与上边map类似,不同的是这里边的f接受两个参数,而且还可以多添加一个默认的初始值。

def prod(x, y):
    return x * y

print reduce(prod, [2, 4, 5, 7, 12])

*输出:3360

当print reduce(prod, [2, 4, 5, 7, 12],100)时,100作为计算的初始值。

3.fiter()函数。filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。

注意:s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符。当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' ')

import math

def is_sqr(x):
    return math.sqrt(x) % 1 == 0

print filter(is_sqr, range(1, 101))


结果:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

4.sorted()排序函数,默认的是对列表进行有序的正排列。

lower()、upper()、capitalize()、title()、swapcase()分别是字符串大写,字符串小写,首字母大写,字符串大小写互换
def cmp_ignore_case(s1, s2):
    if s1.upper() > s2.upper():
        return 1
    if s1.upper() < s2.upper():
        return -1
    return 0

print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)



结果:['about', 'bob', 'Credit', 'Zoo']

今天的函数式编程先讲这几种类型,博友门要是有什么不懂得或者补充的,都可以留言,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值