python - MAP 的意外结果

标签 python python-3.x

我期待下面标题“带 MAP 的新列表”下的代码返回一个列表,就像 for 循环和列表理解......但是,唉,它没有。我明白了,<map object at 0X000...8C1CD30>反而。我如何从这个转到我的列表?

带 map 的新列表

list_a = ['one_A', 'two_A', 'three_A']

#initialize the list
new_li = map(lambda i: '{0}\n'.format(i), list_a)

print(new_li)

带循环的新列表(有效)

list_a = ['one_A', 'two_A', 'three_A']
new_li = []
for i in list_a:
    new_li.append('{i}\n'.format(i))

print(new_li)

具有列表理解功能的新列表(有效)

list_a = ['one_A', 'two_A', 'three_A']

new_li = ['{i}\n'.format(i=i) for i in list_a]

print(new_li)

最佳答案

map 返回一个迭代器。如果您想要列表中的值,则必须将其转换为列表:

new_li = list(map(lambda i: '{0}\n'.format(i), list_a))

new_li = list(map('{0}\n'.format, list_a))

关于python - MAP 的意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38209092/

相关文章:

python子进程将每一行输出存储在一个列表中

python - 无法删除 TypeError : unhashable type: 'numpy.ndarray'

python - Sympy - 改变绘图的 y 轴范围

python-3.x - 每当我尝试使用 sys.stderr 时出现语法错误

Python和正则表达式从带有罗马数字的docx中提取标题

python - 为什么不能将 eval() 函数与私有(private)变量一起使用?

python - 绘制列值出现的次数

python - 用 self 调用类变量

python - 创建矩阵(数组),其中每个元素本身就是一个矩阵

python - AWS Cloudformation,使用 Python 3 从键获取值的最佳方式