
質問する
504
12
章
に答えます
Q
:整理させてください。内包表記は標準的なループの省
略形ということですか?
A
:はい。具体的には
for
ループです。標準的な
for
ルー
プとそれに相当する内包表記は同じことを行います。内包
表記は高速に実行されるというだけです。
Q
:リスト内包表記はどこで使えばいいのですか?
A
:これには明確なルールはありません。一般的には、既存の
リストから新しいリストを作成する場合のループをよく見てく
ださい。そのループが同等の内包表記に変換する候補かどうかを
検討してください。新しいリストが「一時的」(つまり、一度だけ使っ
て捨てる)なら、手元の課題には埋め込みリスト内包表記の方が
適しているかを検討してください。原則として、一時変数を一度し
か使わない場合にはコードに一時変数を入れるのは避けます。代
わりに内包表記を使えるかを検討してください。
Q
:内包表記を完全に避けることはできますか?
A
:はい、できます。しかし、
Python
コミュニティでは広く使わ
れているので、他の人が書いたコードを絶対に見ないつもり
なら話は別ですが、そうでないなら時間を割いて
Python
の内包
表記に慣れておくとよいでしょう。内包表記に慣れると、内包表記
なしでどのように済ませてきたのか不思議に思うくらいです。内包
表記は高速だと言いましたよね?
Q
:はい、それは聞いていますが、現在では速度がそれほ
ど大事なのでしょうか?
私のノート
PC
は超高速なので、
for
ループでも十分高速です。
A
:興味深い意見ですね。現在は