map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。
例如:将列表中的数据都平方
def f(x):
return x*x
print map(f, [1, 2, 3,])
python2 输出
[1, 4, 9,]
python3输出
<map object at 0x0000022E1412A080>
python3中使用map函数与python2中使用map函数返回的内容不一致
使用python2的代码调用map函数发现返回的并不是列表,而是这样的
<map object at 0x000002A56FDDA048>
为了让他显示正常,我到网上查找发现有大神解决了这个问题,使用list转换成列表既可以显示正常
如下:
def f(x):
return x*x
print (list(map(f, [1, 2, 3,])))
输出:
[1, 4, 9,]
例2:将list1中的数据转换成整型数据
def f(x):
x = int(x)
return x
list1= ['1','2','3']
print('原列表为字符串:',list1)
list2 = map(f,list1)
print('新列表为整型数据:',list(list2))