基本的で済みませんが、PythonのMap関数の使い方について確認させてください。
例えば、
python
1def sample(num): 2 return num*2 3 4for answer in map(sample, range(5)): 5 print(answer)
のような例をよく見かけますが、これを以下のようにした場合には何も出力されませんでした。
python
1def sample2(num): 2 print(num*2) 3 4map(sample2, range(5))
Map関数はリスト等のすべての要素を指定関数に適用できるものと認識しているのですが、その関数でできること、できないことがあるのでしょうか。
*申し訳ありません。2つ目の例に誤りがありました。先ほど修正しました。
何も出力されないということはないと思います。 最初の例のとおり、0, 1, 4, 9, 16 が順に表示されますよね?
次の map(sample2, range(5)) の部分で何も表示されないと言っていますか?
また、この sample2 というのはどのような関数ですか?
申し訳ありません、またご指摘どうもありがとうございます。後半のコード抜粋部に誤りがありました。printを関数内に移動すると処理されないということを伝えたい例でした。修正致しました。
map(sample, range(5))とmap(sample2, range(5))とは同じような結果になりますが、自作関数の違いについての質問なのかmapの使い方なのか質問の主旨がよく分かりませんでした。
mapの質問になります。同じ結果にならないための質問でした。
> mapの質問になります。同じ結果にならないための質問でした。
そうでしたか。変化点が多い(mapに使用する関数の違い、map関数の使用方法の違い)と理解が難しくなるかと思います。ですが解決されたようで良かったです。
回答3件
あなたの回答
tips
プレビュー