我正在使用如下递归代码:
def dfs(self, hash_map):
ans = 1
for key,value in hash_map.items():
if value > 0:
hash_map[key] = hash_map[key] - 1
ans = ans + self.dfs(hash_map)
hash_map[key] = value
return ans
那么字典中items()方法返回的列表会保留顺序吗?
答案 0 :(得分:0)
不一定,这取决于您使用的Python版本。查看OrderedDict
从文档中
订购字典与常规字典一样,但有一些 与订购操作有关的额外功能。他们已经成为 现在不那么重要了,因为内置的dict类具有以下功能: 记住插入顺序(此新行为在 Python 3.7)。
答案 1 :(得分:0)
如果您依赖于Python字典或集合中键的顺序,则不必这样做。 Python使用哈希表实现这些类型,它们的顺序取决于插入和删除的历史记录以及随机哈希种子。
有关此事实的更多详细信息,可以在这里找到: hash function in Python 3.3 returns different results between sessions