Python dict.items()返回的列表中元素的顺序是否始终相同?
我使用的递归代码如下所示:Python dict.items()返回的列表中元素的顺序是否始终相同?,python,dictionary,Python,Dictionary,我使用的递归代码如下所示: 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_m
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()方法返回的列表是否会保留顺序?不一定,这取决于您使用的Python版本。退房 从文档中: 有序词典与普通词典一样,但也有一些不同之处 与订购操作相关的额外功能。他们已经成为 由于内置的dict类获得了 记住插入顺序(这种新行为在 Python 3.7)
如果您依赖于Python字典或集合中键的顺序,那么就不要这样做。Python使用哈希表来实现这些类型,它们的顺序取决于插入和删除历史以及随机哈希种子 有关该事实的更多详细信息,请参见:
看看这是否回答了您的问题: