開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc.(Text Editor)
- プログラミング言語: Python
『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のIII部(ステートメント)の13章(while ループと for ループ)練習問題4.を解いてみる。
その他参考書籍
4.
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-
# for ループとリスト内包表記はともに反復処理のためにある
# リスト内包表記の方がコードが短くかつ速い可能性もある
#(Pythonのコードレベルではなくインタプリタ内部でCのレベルで行われるため)
# リストを作成するという同じ事をしてみる。ついでに速度の計測も
a = []
for x in range(10):
a.append( x ** 2 )
b = [x ** 2 for x in range(10)]
print(a, b, sep="\n")
# 速度の計測
import time
n = 10 ** 6
start = time.time()
a = []
for x in range(n):
a.append(x)
print("for loop: {0}秒".format(time.time() - start))
start = time.time()
b = [x for x in range(n)]
print("リスト内包表記: {0}秒".format(time.time() - start))
入出力結果(Terminal)
$ ./sample.py [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] for loop: 0.2684509754180908秒 リスト内包表記: 0.0997929573059082秒 $
0 コメント:
コメントを投稿