5

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'] を返さないのはなぜですか?

4

2 に答える 2

9

リストの代わりにジェネレーターを返す python 3 を使用しています。

list(x)マップ ジェネレーターに割り当てた後、変数を呼び出します。

于 2012-04-11T13:28:25.790 に答える
2

Python 3のようlist(i)に取得するには、リストではなくジェネレーターを返す必要があります。また、Lattywareが最初の回答のコメントで指摘したように、これを行う方がよいでしょう。['4','58','6']map

i = [int(x) for x in s.split()]
于 2012-04-11T13:28:49.017 に答える