python(5)dictフィーチャー

1255 ワード

dictの特徴
dictの最初の特徴は検索速度が速いことです.dictに10要素があっても10万要素があっても、検索速度は同じです.一方listの検索速度は要素が増加するにつれて徐々に低下する.
しかしdictの検索速度が速いのは代価がないのではなく、dictの欠点はメモリを消費するのが大きく、多くの内容を浪費することであり、listは正反対で、メモリを消費するのは小さいが、検索速度は遅い.
dictはkeyで検索されるため、1つのdictではkeyを繰り返すことはできません.
dictの2つ目の特徴は、格納されたkey-valueシーケンスペアに順序がないことです!これはリストとは異なります.
d = {
    'Adam': 95,
    'Lisa': 85,
    'Bart': 59
}

このdictを印刷しようとすると、
>>> print d
{'Lisa': 85, 'Adam': 95, 'Bart': 59}

印刷の順序は必ずしも私たちが作成した順序ではありません.また、異なる機械で印刷する順序が異なる可能性があります.これはdict内部が無秩序であり、dictで秩序のある集合を格納できないことを示しています.
dictの3つ目の特徴はkeyの要素として可変でなければならないことであり、Pythonの基本タイプ、例えば文字列、整数、浮動小数点数はいずれも可変であり、keyとして使用することができる.しかしlistは可変でありkeyとしてはならない.
listをキーとして試用したときにどのようなエラーが報告されるか試してみてください.
可変でないこの制限はkeyにのみ作用し、valueが可変かどうかは関係ありません.
{
    '123': [1, 2, 3],  # key   str,value list
    123: '123',  # key   int,value   str
    ('a', 'b'): True  # key   tuple,  tuple            ,value  boolean
}

最もよく使われるkeyは文字列です.一番使いやすいからです.