パフォーマンステストデータ構造パイソン


輸入はtimeit デフT1(): L = [] レンジ(10000)のIのための: L = L + [I] デフT2(): L = [] レンジ(10000)のIのための: l.append(I) デフT3(): L = [I iに対して範囲内(10000)] デフT4(): L =リスト(範囲(10000)) デフT5(): L = [] レンジ(10000)のIのための: l.insert(0、I) timeit輸入タイマーから タイマ1 =タイマ( "T1()"、 "__main__インポートt1から") タイマ2 =タイマー( "T2()"、 "__main__インポートt2から") タイマ3 =タイマ( "T3()"、 "__main__インポートt3から") タイマ4 =タイマ( "T4()"、 "__main__インポートt4から") timer5 =タイマ( "T5()"、 "__main__インポートt5から") プリント( "拼接"、timer1.timeit(番号= 100)、 "秒") 印刷( "テール挿入"、timer2.timeit(番号= 100)、 "秒") 印刷( "ヘッダー挿入"、timer5.timeit(番号= 100)、 "秒") 印刷( "式のリスト"、timer3.timeit(番号= 100)、 "秒") 印刷( "リスト生成"、timer4.timeit(番号= 100)、 "秒")

  結果

13.677228502秒スプライス
テール0.10198352399999955秒挿入
ヘッド挿入2.405467333999999秒
秒に式0.04342989099999883リスト
リストの生成を0.029161853999998044秒

  結論

  結果から、添加元素効率が先端から後端からよりもはるかに高い追加し、追加の要素を挿入します

  リストに(範囲を())を使用し、他のはるかに高いよりも予想外の効率を生成!ショック!

組み込み関数のリストの複雑さ

 

 注:kは変化値であり、このようなスライスkとして= YX

辞書の複雑な関数を構築しました:

 

 

彼は加えました:

timeitモジュール

timeitモジュールは小さなPythonコードの実行速度をテストするために使用することができます。

クラスtimeit.Timer(STMT = 'パス'、セットアップ= 'パス'、タイマー= <タイマ機能>)

  • タイマーは、コード実行のスピードクラスの小片の尺度です。

  • STMTパラメータは、テストするコード声明(なステートメント)です。

  • コードセットを実行するときに、セットアップパラメータが必要です。

  • タイマーパラメータは、タイマー機能、およびプラットフォームに依存しています。

timeit.Timer.timeit(番号= 1000000)

オブジェクトの実行速度の方法は、Timerクラスステートメントをテストしました。テストコードは、デフォルトは1,000,000であるときnumber引数は、テストの数です。時間のかかるリターンコード、秒フロートの種類を行う方法。

おすすめ

転載: www.cnblogs.com/originalTblog/p/11780348.html