Pythonリスト/辞書の操作時間の複雑さ



Python List Dictionary Operation Time Complexity



記事のディレクトリ

#1環境

Python3.7.3

#2リスト

オペレーティング 指示 時間の複雑さ
インデックス(値) リストの要素のインデックスを見つける または(1)
a = index(value) インデックスの割り当て または(1)
append(value) チームの最後に追加 または(1)
ポップ () チームテールの削除 または(1)
pop(インデックス) インデックスに基づいて要素を削除します オン)
insert(index、value) インデックスに基づいて要素を挿入します O(n)反復
で検索) リスト検索(実際には、inキーワード) オン)
スライス[x:y] スライス、xを取得、yはO(1)、中央のx、yの値を取得O(k) はい)
デルスライス[x:y] スライスを削除し、データを削除し、削除/マージする必要があります オン)
逆行する リストの反転 オン)
ソート ソート O(nlogn)

#3ディクト

オペレーティング 指示 時間の複雑さ
コピー コピー オン)
get(value) 入手します または(1)
set(value) 変更する または(1)
delete(value) 削除 または(1)
search(value) 辞書検索 または(1)
iterration(value) 辞書の反復 オン)

#辞書機能

  • dictに10個の要素があるか100,000個の要素があるかに関係なく、検索速度は高速です。検索速度は同じです。リストの検索速度は、要素が増えるにつれて徐々に低下します。
    しかし、dict検索の速度にはコストがかかります。 dictの欠点は、多くのメモリを消費し、多くのコンテンツを浪費することです。リストは正反対で、メモリの使用量は少なくなりますが、検索速度は遅くなります。
  • 辞書の値は、標準オブジェクトまたはユーザー定義オブジェクトのいずれかとして、制限なしで任意のPythonオブジェクトを取得できますが、キーは取得できません。同じキーを2回表示することはできません。
    キーは不変である必要があります。これにより、数字、文字列、またはタプルで再生できるため、リストを使用しても機能しません。
  • dictの2番目の特徴は、格納されているキーと値のシーケンスのペアが順番になっていないことです。これはリストと同じではありません。