学渣学python之map函数

2 篇文章 0 订阅

map()函数是Python内置的高阶函数,它接收一个函数f和一个list,并把函数f作用在list的每个元素上。从而得到一个f处理过的新的list返回。下面举个栗子:

1. 例1

list [1, 2, 3, 4, 5, 6, 7]

我们要得到list的每个元素都平方后的,新的list,怎么做呢?当然,这儿就会用到map()这个函数了。

没错,我们需要先定义一个f函数(用来给每个元素平方的):

def f(x):
    return x*x

然后map()函数:

print( list(map(f, [1, 2, 3, 4, 5, 6, 7])))

输出结果肯定就是[1,4,9,16,25,36,47]

需要注意的是,这里返回的list已经是一个新的list了,原有的list [1, 2, 3, 4, 5, 6, 7]还是原来的,没有改变。

2.list里面的元素是任意类型的情况

list里面的数据类型是任意类型的map()函数也是支持的,只需要我们定义的处理函数兼容这些数据类型就可以。例如有个列表元素是一组英文单词,现在有些单词没有严格按照大小写规则来书写。我们可以通过函数来把它纠正正确。

['adam', 'LISA', 'barT']

首先我们先定义一个处理函数

def format_name(s):
    s1=s[0:1].upper()+s[1:].lower();
    return s1;
print (list(map(format_name, ['adam', 'LISA', 'barT'])))

输出的结果是:['Adam', 'Lisa', 'Bart']

2.map()函数和lambda的共同使用

上面的代码我们就可以写成

print(list(map(lambda x:x*x,[1,2,3,4,5,6])))

注意:在Python 3.x中map返回的是一个iterator所以要转list一下才可以

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值