主にプログラミングに関して。Python, .NET Framework(C#), JavaScript, その他いくらか。
記事にあるサンプルやコードは要検証。使用に際しては責任を負いかねます

スポンサーサイト

                
tags:
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

リスト内包の復習

                
tags:
 ASCII社のエキスパートPythonプログラミングP62より、リストを作るときにはfor文を使うよりリスト内包を使った方が速いということ。理由はいくつか。以前にリスト内包でFizzBuzzリストを作ったことがある。今回は素数リストをリスト内包で作ってみる。素数はシンプルな数式で表すことができず、約数がみつかるか逐一判定する必要がある。よってif文をリスト内包表記に入れなければならない。

def sosu(num):
if num==2:
return True
elif not num%2:
return False
half = num/2

for k in range(3, half):
if not num%k:
return False

return True

print [x for x in range(2,10000) if sosu(x)]


 リスト内包は可読性が落ちると評されているのをたまに見る。主観的にはそう思わない。むしろ一行でリストを作っているので可読性は上がる。それに処理効率の高い書き方なのだから、わかりにくくても慣れてしまうべきだと思うんだけどなぁ。
            

コメントの投稿

非公開コメント

プロフィール

hMatoba

Author:hMatoba
Github

最新記事
リンク
作ったものなど
月別アーカイブ
カテゴリ
タグリスト

検索フォーム
Amazon
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。