2012年7月5日木曜日

開発環境

『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のIV部(関数)17章(関数に関する高度なテクニック)練習問題6を解いてみる。

6.

python3.xではmap関数はリストではなくmapオブジェクトを返すようになったみたい。

コード(TextWrangler)

sample.py

#!/usr/bin/env python
#encoding: utf-8

a = [pow(x,2) for x in range(5)]
b = map(pow,range(5),[2]*5)
c = [x**2 for x in range(5)]

print(type(a))
for x in a:
 print(x)

print(type(b))
for x in b:
 print(x)

print(type(c))
for x in c:
 print(x)

入出力結果(Terminal)

$ ./sample.py
<class 'list'>
0
1
4
9
16
<class 'map'>
0
1
4
9
16
<class 'list'>
0
1
4
9
16
$

mapは関数が必要。(最後のリストを1つ目のリストとどうようううの方法でmapに書き換えるとエラーになる。)

0 コメント:

コメントを投稿