リスト内包表記が時々遅くなることがあると聞いたことがありますが、その理由はわかりませんか? 私は Python を初めて使用します (C# のバックグラウンドから来ました)。リスト内包表記と for ループをいつ使用するかについて詳しく知りたいです。アイデア、提案、アドバイス、または例はありますか? すべての助けをありがとう。
3215 次
1 に答える
3
適切な場合は、リスト内包表記 (LC) を使用します。
たとえば、ol' iterable を関数に渡す場合、多くの場合、ジェネレーター式 (genexpr) がより適切であり、LC は無駄です。
"".join([str(n) for n in xrange(10)])
# becomes
"".join(str(n) for n in xrange(10))
または、完全なリストが必要ない場合は、break ステートメントを含む for ループを選択します。itertoolsモジュールには、takewhile などのツールもあります。
于 2009-11-19T00:55:44.073 に答える