Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python辞書のメモリ使用量を最適化する方法は?


Pythonで辞書を使用しないようにすることができる場合があります。たとえば、いくつかの値に対する連続整数のdictを作成する場合は、代わりにリストを使用することを検討してください。

文字列ベースのキーを作成している場合は、Trieデータ構造(https://en.m.wikipedia.org/wiki/Trie)を使用した方がよい場合があります。

dictの使用を、メモリをあまり消費しない他のデータ構造に置き換えることができる場合もあります。

ただし、場所によっては、最適化に役立つdictを使用する必要があることを理解する必要があります。 python dictは、ハッシュテーブルの比較的単純な実装です。これは、Java、C++などのほとんどの言語でハッシュテーブルが実装される方法です。


  1. Pythonで文字列を辞書に変換する方法は?

    ここでast.literal_eval()を使用して、文字列をPython式として評価できます。式ノードまたはPython式を含む文字列を安全に評価します。提供される文字列またはノードは、文字列、数値、タプル、リスト、dict、ブール値、およびなしのPythonリテラル構造のみで構成されます。例:  >>>import ast >>>x = ast.literal_eval("{'foo' : 'bar', 'hello' : 'world'}") >>

  2. Python 3で辞書を使用して文字列をフォーマットするにはどうすればよいですか?

    辞書を使用して文字列を補間できます。これらには、%と変換文字の間の括弧内にキーを指定する必要がある構文があります。たとえば、フロートがキー「cost」に格納されていて、それを「$ xxxx.xx」としてフォーマットする場合は、表示する場所に「$%(cost).2f」を配置します。 。 辞書で文字列フォーマットを使用して文字列を補間し、数値をフォーマットする例を次に示します。 >>>print('%(language)s has %(number)03d quote types.' % {'language': "Python&quo