为什么 Python2 到 Python3 转换器将 "items()" 变成 "list"?
Why does Python2 to Python3 converter put "items()" into "list"?
我使用工具将我的代码从 Python2 重新格式化为 Python3。它总是做的一件事是替换
my_dict.items()
来自
list(my_dict.items())
这背后的动机是什么?我假设 items()
不保证排序(它是随机的,因为字典没有排序)。因此,通过使用 list
我们订购了 key, value
对。
我的假设正确吗?
keys()
、values()
和 items()
方法 list
在 3.x return 视图而不是列表中,因此要保留他们的 2.x 行为我们需要将视图转换为列表。
如果不需要这种旧行为(例如,我们只迭代结果),那么可以删除对 list()
的调用。
我使用工具将我的代码从 Python2 重新格式化为 Python3。它总是做的一件事是替换
my_dict.items()
来自
list(my_dict.items())
这背后的动机是什么?我假设 items()
不保证排序(它是随机的,因为字典没有排序)。因此,通过使用 list
我们订购了 key, value
对。
我的假设正确吗?
keys()
、values()
和 items()
方法 list
在 3.x return 视图而不是列表中,因此要保留他们的 2.x 行为我们需要将视图转换为列表。
如果不需要这种旧行为(例如,我们只迭代结果),那么可以删除对 list()
的调用。