開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc.(Text Editor)
- プログラミング言語: Python
『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のIV部(関数)のまとめ演習9.(リスト内包表記)を解いてみる。
その他参考書籍
9.(リスト内包表記)
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-
import math
def p(l):
print(l)
for x in l:
print(x)
l = [2, 4, 9, 16, 25]
print("for loop")
l1 = []
for x in l:
l1.append(math.sqrt(x))
p(l1)
print("map")
// map関数はpython3.xではmapオブジェクト、python2.7ではリストを返す事に注意
l2 = map(lambda x:math.sqrt(x), l)
p(l2)
print("リスト内包表記")
l3 = [math.sqrt(x) for x in l]
print(l3)
入出力結果(Terminal)
$ ./sample.py for loop [1.4142135623730951, 2.0, 3.0, 4.0, 5.0] 1.4142135623730951 2.0 3.0 4.0 5.0 map <map object at 0x10de10110> 1.4142135623730951 2.0 3.0 4.0 5.0 リスト内包表記 [1.4142135623730951, 2.0, 3.0, 4.0, 5.0] $ python2.7 sample.py for loop [1.4142135623730951, 2.0, 3.0, 4.0, 5.0] 1.41421356237 2.0 3.0 4.0 5.0 map [1.4142135623730951, 2.0, 3.0, 4.0, 5.0] 1.41421356237 2.0 3.0 4.0 5.0 リスト内包表記 [1.4142135623730951, 2.0, 3.0, 4.0, 5.0] $
ちなみにJavaScriptの場合。
コード(BBEdit)
var a = [2, 4, 9, 16, 25],
b = a.map(function ( x ) {
return Math.sqrt(x);
}),
c = [],
d = [],
result = "",
i, max;
for (i = 0, max = a.length; i < max; i += 1) {
c.push(Math.sqrt(a[i]));
}
a.forEach(function ( x ) {
d.push(Math.sqrt(x));
});
result += ["for loop\n" + b.join("\n"),
"map\n" + c.join("\n"),
"forEach\n" + d.join("\n")].join("\n");
$('#pre0').text(result);
0 コメント:
コメントを投稿