map函数报错,为什么无法直接使输入的用空格分开的数字成为一个列表?

import sys

lst= map(int,sys.stdin.readline().split())

print(lst)
得到<map object at 0x00000279E3225450>
为什么无法直接使输入的用空格分开的数字成为一个列表?

在python 2 中,map的返回是一个列表,可以直接print出来内容。
在python 3 中,map将返回一个map类型的对象,是一个可迭代的对象,想要直接展示,可以通过list()函数强转一下:

import sys

lst= map(int,sys.stdin.readline().split())

print(list(lst))

试试用list把map括起来?

img

map(function, iterable, ...) ,第一个参数是function

不太清楚你需要什么样的列表,可以参考下:

list_result = map(lambda x : x,sys.stdin.readline().split())
print(list(list_result))