/ / Ich kann mit der Map-Funktion Python keine Liste in int ändern - Python, List, Map, Int, Python-3.3

Ich kann eine Liste nicht zu int mit Kartenfunktion Python ändern - Python, Liste, Karte, Int, Python-3.3

Mein Programm fordert den Benutzer auf, 10 Zufallszahlen einzugeben, bei denen ich diesen Code verwende.

numbers = input("Type 10 numbers, separeted by spaces: ")
numberlist = list(numbers)
numberlist = map(int,numberlist)
print(numberlist)

aber wenn das Programm kompiliert, kann ich die 10 Zahlen eingeben, aber ich erhalte diese Meldung in der Shell.

<map object at 0xb51a11cc>

Wer weiß, was ist die Lösung? Ich benutze Python 3.3 in Ubuntu 13.04.

Vielen Dank.

Antworten:

4 für die Antwort № 1

map in Python 3.x gibt ein Map-Objekt zurück, keine Liste wie in Python 2.x. Um dies zu beheben, platzieren Sie das Kartenobjekt in einer Liste, entweder hier:

numberlist = list(map(int,numberlist))

oder hier:

print(list(numberlist))

Demo:

>>> lis = ["1", "2", "3"]
>>> map(int, lis)
<map object at 0x01DE0F70>
>>> list(map(int, lis))
[1, 2, 3]
>>>

Außerdem werden Sie das Folgende tun wollen, damit es funktioniert (im Moment wird versucht, alle Leerzeichen in Ganzzahlen umzuwandeln, die in die Luft gejagt werden):

numbers = input("Type 10 numbers, separated by spaces: ").split()