1. ホーム
  2. パイソン

[解決済み】PythonのListはどのように実装されていますか?

2022-04-04 12:53:43

質問

リンクリストなのか、アレイなのか? いろいろ検索しても、推測している人しかいない。 私のC言語の知識はソースコードを見るほどではありません。

解決方法は?

それは 動的配列 . 実用的な証明です。インデックス付けには(もちろん極めて小さな差(0.0013μ秒!)はありますが)インデックスに関係なく同じ時間がかかります。

...>python -m timeit --setup="x = [None]*1000" "x[500]"
10000000 loops, best of 3: 0.0579 usec per loop

...>python -m timeit --setup="x = [None]*1000" "x[0]"
10000000 loops, best of 3: 0.0566 usec per loop

IronPythonやJythonがリンクリストを使ったら、私はびっくりするでしょうね。リストが動的配列であるという前提で作られた、広く使われている多くのライブラリのパフォーマンスを台無しにしてしまうでしょう。