開発環境
- 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 コメント:
コメントを投稿