python map()函数

‘‘‘
求1+2!+3!+...+20!的和。
‘‘‘

l=range(1,21)
def op(x):
r=1
for i in range(1,x+1):
r*=i
return r

s=sum(map(op,l)) #注意map操作
print("1!+2!+3!+...+20!=%ld"%(s))

map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。

例如,对于list [1, 2, 3, 4, 5, 6, 7, 8, 9]

如果希望把list的每个元素都作平方,就可以用map()函数:

因此,我们只需要传入函数f(x)=x*x,就可以利用map()函数完成这个计算:

def f(x):
return x*x
print map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
输出结果:

[1, 4, 9, 10, 25, 36, 49, 64, 81]
注意:map()函数不改变原有的 list,而是返回一个新的 list。

利用map()函数,可以把一个 list 转换为另一个 list,只需要传入转换函数。

由于list包含的元素可以是任何类型,因此,map() 不仅仅可以处理只包含数值的 list,事实上它可以处理包含任意类型的 list,只要传入的函数f可以处理这种数据类型。

任务
假设用户输入的英文名字不规范,没有按照首字母大写,后续字母小写的规则,请利用map()函数,把一个list(包含若干不规范的英文名字)变成一个包含规范英文名字的list:

输入:[‘adam‘, ‘LISA‘, ‘barT‘]
输出:[‘Adam‘, ‘Lisa‘, ‘Bart‘]

‘‘‘
假设用户输入的英文名字不规范,没有按照首字母大写,后续字母小写的规则,
请利用map()函数,把一个list(包含若干不规范的英文名字)变成一个包含规范英文名字的list:

输入:[‘adam‘, ‘LISA‘, ‘barT‘]
输出:[‘Adam‘, ‘Lisa‘, ‘Bart‘]
‘‘‘

def formatName(s):
    s1=s[0:1].upper()+s[1:].lower();
    return s1;
NameList=["adam","LISA","barT"]
print(formatName("adam"))
#在python3中,要取得map生成的list,需在map前加list()
print(list(map(formatName,[‘abc‘,‘defF‘,‘AAAA‘])))

参考博客:http://www.cnblogs.com/superxuezhazha/p/5714970.html

时间: 2024-12-26 14:26:28

python map()函数的相关文章

python map函数

map()函数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. 例如,对于list [1, 2, 3, 4, 5, 6, 7, 8, 9] 如果希望把list的每个元素都作平方,就可以用map()函数: 因此,我们只需要传入函数f(x)=x*x,就可以利用map()函数完成这个计算: def f(x): return x*x print map(f, [1, 2, 3, 4,

python——map()函数

描述 map() 会根据提供的函数对指定序列做映射. 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表. 语法 map() 函数语法: map(function, iterable, ...) 参数 function -- 函数 iterable -- 一个或多个序列 返回值 Python 2.x 返回列表. Python 3.x 返回迭代器. 实例 以下实例展示了 map() 的使用方法: >>> &

python isinstance函数(21)

1. 简介 isinstance() 函数是 python 中的一个内置函数,主要用于检测变量类型,返回值是bool值 ,在python内置函数中,与该函数相似的还有另外一个内置函数  type(). 2.语法 isinstance(object,classinfo) 参数: object : 实例对象. classinfo : 可以是直接或者间接类名.基本类型或者由它们组成的元组. 返回值:如果对象的类型与classinfo类型相同则返回 True,否则返回 False. a = 2 isin

python中map()函数

map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. 例如,对于list [1, 2, 3, 4, 5, 6, 7, 8, 9] 如果希望把list的每个元素都作平方,就可以用map()函数: 因此,我们只需要传入

Python 中的map函数,filter函数,reduce函数

自学python,很多地方都需要恶补. 三个函数比较类似,都是应用于序列的内置函数.常见的序列包括list.tuple.str. 1.map函数 map函数会根据提供的函数对指定序列做映射. map函数的定义: map(function, sequence[, sequence, ...]) -> list 通过定义可以看到,这个函数的第一个参数是一个函数,剩下的参数是一个或多个序列,返回值是一个集合. function可以理解为是一个一对一或多对一函数,map的作用是以参数序列中的每一个元素调

python中,for循环,map函数,list comprehension列表推导的效率比较

在我们平时写代码中,肯定会遇到不少从一个列表向另一个列表进行转化的操作,以给列表中每个int元素+1为例,通常我们会用到一下3种方式: array = range(1000) # 循环 a = [] for i in array: a.append(i+1) #map函数 a = map(lambda x: x+1, array) #列表推导 a = [x+1 for x in array] 究竟以上三种写法有何差异,哪种写法最好,之前读google的代码规范说推荐第三种列表推导,那么为什么推荐

Python学习1:自行实现map函数

假设Python没有提供map()函数,自行编写my_map()函数实现与map()相同的功能.以下代码在Python 2.7.8中实现. 实现代码: def my_map(fun,num):     i = 0     x = list(range(len(num)))#创建一个list,长度为输入list的长度     for n in num:#对输入list中每个变量进行遍历          x[i] = fun(n)#调取fun函数,并将返回结果存入x中          i = i

Python一行读入多个整数+map()函数解析

python中的输入raw_input只能读入一个数,但是有时候需要读入多个数,我们该怎么办呢,读两个数可以使用两个raw_input,但是我们如果需要读取十个数怎么办,不能使用十个raw_nput 吧. import sys num1,num2 = map(int,sys.stdin.readline().split()) print num1,num2 如果需要理解上面的代码我们需要知道map函数的用法和作用,懂了之后再看下面的代码简直就是so easy啊. 1.对可迭代函数'iterabl

python中的map()函数

MapReduce的设计灵感来自于函数式编程,这里不打算提MapReduce,就拿python中的map()函数来学习一下. 文档中的介绍在这里: map(function, iterable, ...) Apply function to every item of iterable and return a list of the results. If additional iterable arguments are passed, function must take that man