6

重複の可能性:
Python でリストを作成する - 何か卑劣なことが起こっていますか?
Python で空のリストを作成する

次の点を考慮してください。

mylist = list()

と:

mylist = []

またはを使用する利点はありますlist()[]- 特定の状況で一方を他方よりも使用する必要がありますか?

4

2 に答える 2

20

空のリストについては、を使用することをお勧めし[]ます。これは、組み込みの name の名前検索を回避するため、高速になりますlist。組み込み名は、グローバル名またはローカル名で上書きすることもできます。これは影響するだけで、影響list()しません[]

ただし、list()ビルトインは、他のイテラブルをリストに変換するのに役立ちます。

a = (1, 2, 3)
b = list(a)

完全を期すために、私のマシン(Python 2.7.3rc2、Intel Core 2 Duo)の空のリストの2つのオプションのタイミング:

In [1]: %timeit []
10000000 loops, best of 3: 35 ns per loop

In [2]: %timeit list()
10000000 loops, best of 3: 145 ns per loop
于 2012-08-02T15:06:26.743 に答える
4

この 2 つは完全に同等ですが、識別子を再定義しlistて別のオブジェクトを参照できる点が異なります。したがって、新しい型[]に再定義できるようにしたい場合を除き、使用する方が安全です。list

技術的には、使用[]すると名前の検索が回避されるため、わずかに高速になります。これは、プログラムが絶え間なく猛烈にリストを割り当てていない限り、どのような場合でも重要ではありません。

Sven が指摘しているように、 にlistは他の用途がありますが、もちろん質問ではそれらについて尋ねていません。

于 2012-08-02T15:06:59.023 に答える