map_reduce的简单运用

#coding=utf8
'''map,reduce的应用'''
def func(x):
    return x**2
print map(func,range(10))
def add(x,y):
    return x+y
print reduce(add,[1,3,5,7,9])
#自定义整数字符串转整数
#方法一
def func1(x,y):
    return x*10+y
def char2int(c):
    dic={'0':0, '1':1, '2':2, '3':3, '4':4, '5':5, '6':6, '7':7, '8':8, '9':9}
    return dic[c]
print reduce(func1,map(char2int,'188732'))
#方法二
def str2int(s):
    def func(x,y):
        return x*10+y
    def char2int(c):
        dic={'0':0, '1':1, '2':2, '3':3, '4':4, '5':5, '6':6, '7':7, '8':8, '9':9}
        return dic[c]
    return reduce(func,map(char2int,s))
print str2int('9838737')
#方法三,利用匿名函数
def str2int2(s):
    def char2int(c):
        dic={'0':0, '1':1, '2':2, '3':3, '4':4, '5':5, '6':6, '7':7, '8':8, '9':9}
        return dic[c]
    return reduce(lambda x,y:x*10+y,map(char2int,s))
print str2int2('7776')

#练习一
#运用map将列表中的每个单词首字母大写,其它小写
def modWordList(l):
    def modWord(w):
        str=''
        str+=w[0].upper()
        str+=w[1:].lower()  #如果w为字符串,则w[1:]的返回类型也是字符串,可以调用lower方法,如果w为元组或列表则会报错
        return str
    return map(modWord,l)
print modWordList(['ApacHe', 'LiNux', 'pYThon', 'jAvA'])

#练习二
#运用reduce求list中所有数的乘积
def prod(l):
    '''求列表中所有数的乘积'''
    def mul(x,y):
        return x*y
    return reduce(mul,l)
print prod([2,2.5,10])

运行结果如下:
这里写图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值