私はこれ試してみてください。私はこのような値を取得する場合インデックスを使用してPython 3によるマップ関数の結果から値を取得する方法は?
def test(x):
return x**2
a = map(test,[1,2,3])
を:
for i in a:
print(a)
私は1,4,9
を取得し、これは完璧に動作します。
私がこれを行う場合:a[0]
。エラーが発生します。 subsciptableない
type(map(test,[1,2,3])) == <class 'map'>
:
私はmap関数の結果は、マップクラスであるので、それは知っています。
インデックスを使用してマップ関数の結果の値を取得するにはどうすればよいですか?
注:
a = list(map(test,[1,2,3]))
次にあなたが個々の要素にアクセスするには、リストのインデックスを使用することができます。この動作はlist
オブジェクトにmap
オブジェクトを変換するのpython 3.
これは完全に機能します。しかし、 'a = map(test、[1,2,3])'と 'a = list(a)'を実行すると、 'a'は' [] 'になります。なぜか教えてくれますか? –
これは、 'map()'が消費するイテレータを返すことと関係があると思います。 'list(a)'を2回印刷してみて、初めてリストがどのように印刷されるかを見てください。 –
@マーズリー私はこれに関する答えを書いています。 –