Pythonで新しい空のリストを作成する最良の方法は何ですか?
l = []
また
l = list()
私がこれを尋ねるのは、次の 2 つの理由からです。
- どちらが速いかという技術的な理由。(クラスを作成するとオーバーヘッドが発生しますか?)
- コードの読みやすさ - 標準的な規則はどれですか。
Pythonで新しい空のリストを作成する最良の方法は何ですか?
l = []
また
l = list()
私がこれを尋ねるのは、次の 2 つの理由からです。
どのコードがより高速かをテストする方法は次のとおりです。
% python -mtimeit "l=[]"
10000000 loops, best of 3: 0.0711 usec per loop
% python -mtimeit "l=list()"
1000000 loops, best of 3: 0.297 usec per loop
ただし、実際には、この初期化はプログラムの非常に小さな部分である可能性が高いため、これについて心配するのはおそらく間違っています。
読みやすさは非常に主観的です。私は を好み[]
ますが、Alex Martelli のような非常に知識のある人は、発音しlist()
やすいのでを好みます。
list()
は本質的に よりも遅い[]
ため、
シンボル検索があります(リストを別のものに再定義しただけではない場合、pythonが事前に知る方法はありません!)、
関数呼び出しがあり、
次に、反復可能な引数が渡されたかどうかを確認する必要があります(そのため、そこから要素を含むリストを作成できます)ps。私たちの場合はありませんが、「if」チェックがあります
ただし、ほとんどの場合、速度の違いは実質的な違いにはなりません。
私は使用します[]
。