13 python3 中使用map函数返回相应的列表(python2和3返回结果不同的问题)

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))

猜你喜欢

转载自blog.csdn.net/qq_42397914/article/details/81586060