python(5)dictフィーチャー
1255 ワード
dictの特徴
dictの最初の特徴は検索速度が速いことです.dictに10要素があっても10万要素があっても、検索速度は同じです.一方listの検索速度は要素が増加するにつれて徐々に低下する.
しかしdictの検索速度が速いのは代価がないのではなく、dictの欠点はメモリを消費するのが大きく、多くの内容を浪費することであり、listは正反対で、メモリを消費するのは小さいが、検索速度は遅い.
dictはkeyで検索されるため、1つのdictではkeyを繰り返すことはできません.
dictの2つ目の特徴は、格納されたkey-valueシーケンスペアに順序がないことです!これはリストとは異なります.
このdictを印刷しようとすると、
印刷の順序は必ずしも私たちが作成した順序ではありません.また、異なる機械で印刷する順序が異なる可能性があります.これはdict内部が無秩序であり、dictで秩序のある集合を格納できないことを示しています.
dictの3つ目の特徴はkeyの要素として可変でなければならないことであり、Pythonの基本タイプ、例えば文字列、整数、浮動小数点数はいずれも可変であり、keyとして使用することができる.しかしlistは可変でありkeyとしてはならない.
listをキーとして試用したときにどのようなエラーが報告されるか試してみてください.
可変でないこの制限はkeyにのみ作用し、valueが可変かどうかは関係ありません.
最もよく使われるkeyは文字列です.一番使いやすいからです.
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は文字列です.一番使いやすいからです.