python:列表和字典之间的数据结构效率

时间:2014-03-29 14:34:31

标签: python list data-structures dictionary

我需要在列表或字典中添加项目或编辑项目。

列表很像     [10, 15, 42, 78]

字典很像     {0: 10, 1: 15, 2: 42, 3: 78}

哪一个更有效率?

2 个答案:

答案 0 :(得分:2)

这真的取决于。

当您测试成员资格(即needle in haystack)时,字典是更好的选择(因为它在O(1)中运行而不是在列表上的O(n))。当您重复这些值时,列表就是您的选择。

两者之间存在一些效率取舍,每种情况都需要不同的分析。没有最好的'数据结构。

请查看this page,详细比较列表,deques,dicts和集合上各种操作的运行时间。

答案 1 :(得分:-3)

取决于效率的含义。

说到速度,列表会更快,但字典更容易组织和使用键访问。