为什么Python2到Python3转换器放置" items()"进入"列表"?

时间:2018-01-04 10:13:50

标签: python python-3.x list items

我使用工具将我的代码从Python2重新格式化为Python3。它总是做的一件事就是取代

my_dict.items()

通过

list(my_dict.items())

背后的动机是什么?我假设items()不保证排序(它是随机的,因为字典没有被排序)。因此,使用list我们订购key, value对。

我的假设是否正确?

1 个答案:

答案 0 :(得分:5)

3.x中keys()values()items()的{​​{1}}方法返回视图而不是列表,因此要保留其2.x行为,我们需要将视图转换为列表。

如果不需要这种旧行为(例如我们只迭代结果),则可以删除对list的调用。