私は公式の文書からこれらの例を得ました。 https://docs.python.org/2/library/timeit.htmlリストとジェネレータの理解速度(結合機能付き)
正確に最初の例(ジェネレータ式)が2番目(リストの理解度)より遅くなるのはなぜですか?
>>> timeit.timeit('"-".join(str(n) for n in range(100))', number=10000)
0.8187260627746582
>>> timeit.timeit('"-".join([str(n) for n in range(100)])', number=10000)
0.7288308143615723
Ray Hettingerの答えはこちらhttp://stackoverflow.com/questions/9060653/list-comprehension-without-python –
@BhargavRao - 私はRaymondの答えがこの問題に対処していることに同意しますが、この質問は基本的に_that_質問。 (ここで、OPはなぜlist-compがより速いのかを知りたがっています - 他の質問では、OPはジェネレータかlist-compの違いを知りませんでした...)。私は、このようなケースでデュープハンマーを下ろすための方針がどうあるべきかわからないと思っています。 – mgilson
@mgilson他の質問は、この質問のスーパーセットです。私たちがより広範な質問の複製としてクローズすることができると述べたメタに関する記事がありました。例えば、閉じる*のように、これをリストの理解に変換するにはどうすればいいですか?*リストのcompとは何ですか? Opsを助けるための幅広い質問を作成する試みがあります([cannon](http://sopython.com/canon/)を見てください)。すべての場合、特定の質問が別の場所で回答されている場合、私たちは二重引用符として閉じます。 (私は通常の代わりにハンマーのための*正確なdupe *が答えを持っているという記述に反している) –