我的程序要求用户键入10个随机数字,我正在使用此代码。
numbers = input("Type 10 numbers, separeted by spaces: ")
numberlist = list(numbers)
numberlist = map(int,numberlist)
print(numberlist)
但是当程序正在编译时,我可以输入10个数字,但是我在shell中收到了这条消息。
<map object at 0xb51a11cc>
任何人都知道解决方案是什么?我在ubuntu 13.04中使用python 3.3。
感谢。
答案 0 :(得分:4)
map
返回一个map对象,而不是像Python 2.x中那样的列表。要解决此问题,请将地图对象放在列表中:
numberlist = list(map(int,numberlist))
或在这里:
print(list(numberlist))
演示:
>>> lis = ['1', '2', '3']
>>> map(int, lis)
<map object at 0x01DE0F70>
>>> list(map(int, lis))
[1, 2, 3]
>>>
此外,您将要执行以下操作以使其正常工作(现在它将尝试将所有空格转换为整数,这将会爆炸):
numbers = input("Type 10 numbers, separated by spaces: ").split()