ラムダ式を勉強しているとmap関数が出てきました。
最後にリスト型にしないと、何故プリントできないのが理解できません。よろしくお願いします。
https://www.sejuku.net/blog/24759
こちらによると、map関数とは「シーケンスの各要素に同じ処理をかける方法」とのこと
例題
original_list = list(range(10)) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
mapped_list = map(lambda x: x**2, original_list)
print(list(mapped_list))
結果
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
一行づつの私の理解
original_list = list(range(10))
original_listに0~9までのリストが格納される
mapped_list = map(lambda x: x**2, original_list)
xを2倍する関数(ラムダ式)をマップ関数でoriginal_listの要素に処理をしてmapped_listに格納
print(list(mapped_list))
mapped_listをリスト型にしてプリント
疑問
list()を除いて
print(mapped_list)とすると
<map object at 0x000001EC31370F28>と表示されます。
map objectとはなにか?
そのままprint(mapped_list)だとなぜ駄目なのか?
調べたらmap型って出てきたんですが、map型ってあるんですか?
よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/14 08:57 編集