为什么 Python2 到 Python3 转换器将"items()"放入"list"?



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

my_dict.items()

list(my_dict.items())

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

我的假设正确吗?

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

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

最新更新