KCh*_*oux 11
我认为这很大程度上取决于你打算如何使用这种结构.
Python的字典(像大多数人一样)默认是无序的.如果您计划迭代这样的数据,则不应使用字典:
for list in dict.keys():
for elem in list:
# Logic
Run Code Online (Sandbox Code Playgroud)
同样地,当它们除了索引之外没有其他值时,使用带有键1,2,3的字典也没有多大意义.由于散列过程,字典在内存中占用更多空间.
如果您计划按元素访问项目(听起来像您想要的那样),您仍然希望使用List.在O(1)列表中查找索引,与在Dictionary中相同.唯一的区别是当你查找一些键值而不是索引(这将比字典中更快).
在进行某种键值关系映射时,您应该只考虑使用字典,其中需要搜索有意义的键以检索相关值.这听起来不像其中一种情况.坚持列表清单.
这并不是说字典是一个糟糕的数据结构.Ruby和Python向我介绍了它们,它们对于上述任何映射问题非常有用(我发现我遇到了很多).它们只适用于特定类别的问题,而这不是其中之一.
当字典的键是0
,, 1
...时n
,a list
将更快,因为不涉及散列.一旦键不是这样的序列,你需要使用一个dict
.
归档时间: |
|
查看次数: |
13412 次 |
最近记录: |