麻烦地图()

Ser*_*gei 5 python

我正在尝试使用map函数转换列表的值,但我得到一个奇怪的结果.

s = input("input some numbers: ")
i = map(int, s.split())
print(i)
Run Code Online (Sandbox Code Playgroud)

得到:

input some numbers: 4 58 6
<map object at 0x00000000031AE7B8>
Run Code Online (Sandbox Code Playgroud)

为什么它不会返回['4','58','6']?

jam*_*lak 9

您正在使用python 3返回生成器而不是列表.

list(x)在为地图生成器分配变量后调用变量.

  • 值得注意的是,您也可以使用列表推导作为替代 - "`s [sp()中的x的"int(x)for".这是好的和可读的,虽然在这个(简单)的情况下,我不会说地图是不可读的. (4认同)