我正在尝试使用map
函数转换列表的值,但是我得到了一个奇怪的结果。
s = input("input some numbers: ")
i = map(int, s.split())
print(i)
给出:
input some numbers: 4 58 6
<map object at 0x00000000031AE7B8>
为什么不返回['4','58','6']?
答案 0 :(得分:9)
您正在使用python 3返回生成器而不是列表。
在为地图生成器指定变量后,调用list(x)
。
答案 1 :(得分:2)
你需要list(i)
来获取['4','58','6']
因为map
在python 3中返回生成器而不是列表。
此外,正如Lattyware在第一个答案的评论中指出的那样,你最好这样做:
i = [int(x) for x in s.split()]