同:for key in dict
与 for key in dict.keys()
都是对字典键的遍历
异:
- python2 使用
for key in dict.keys()
涉及额外的函数调用(堆栈开销),而for key in dict
可以在内部使用 set 对象,是对列表进行线性搜索。
所以随着键数量的增加,for key in dict.keys()
的性能相较于for key in dict
会越来越差。 - python3 则没有这种性能差异,两者使用效果差不多。
结论:尽量习惯使用 for key in dict
进行字典键的遍历。