Category Archives: python

zip関数のパフォーマンス(2)

昨日のエントリ(zip関数のパフォーマンス)にて zip関数を for文と組み合わせて使った場合のパフォーマンスについて問題がありそうという記事をアップした。 せっかくなので、さらに高速化を図るため、map関数を使った場合の比較も行ってみた。 結果としては、range()でインデックスを作って回すループよりもmap関数を使ったほうが、倍ぐらいのパフォーマンスがありそう。 せっかくなのでリスト内包表記にも挑戦してみようかと思ったのだが、複数のシーケンスを同時に回す方法がわからず断念、、、

zip関数のパフォーマンス

python の zip関数は for文と組み合わせて使うと、2つのシーケンスに対して同時にループ処理を行うことができるので、とても便利。 しかし、実際に使ってみると、zipするシーケンスのサイズが大きくなると、パフォーマンスがガタ落ちすることがわかった。

Sphinx をインストールしてみた

Python を使い初めてから気になっていた Sphinx とやらに手を出してみました。 キッカケはIBMの以下の記事です。 Sphinx を活用し、適切に構成されたドキュメントを容易に作成する

python の for ループ

ちょっくら面白い動きをしたので、晒してみる。 ループの中でコンテナを書き換えても、ループの終了判定やらには影響しないのかなーと思ったが、一歩間違えると無限ループ化も夢じゃないようだ。

Python の lambda式

まとめながら理解してみた。 Q. lambda 関数とdef ステートメントの関係は? 両者を比較してください。 lambda と def は、どちらも関数オブジェクトを作ることができる、という点では共通しています。ただし、lambda は式なので、def ステートメントとは違い、文法的にdefステートメントが使用できない箇所でも使えます。たとえば、リストのリテラル、関数の呼び出しコードなどの中でも使えるのです。lambda は必ず使わなくてはならない、というものではありません。lambda と同等のコードは、必ずdef を使って書くことができるからです。ただ、def を使った場合、関数には最初からすべて名前がある、ということになります。lambda は、特定の場所だけで使われ、他に応用される可能性の低い、簡単な関数を作る場合に便利です。lambda で得られる戻り値は1つに限定されています。ステートメントのブロックには対応できないので、大規模な関数の作成には向きません。 by はじめてのPython 第3版 pp.405

初めてのパイパイ

タイトルが釣りっぽくなってしまったw 最近 Python をいじっていて、PyPy なるものの存在を知り、気になったので、ゴニョゴニョしたという次第。