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

标签 python python-3.x list items

<分区>

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

my_dict.items()

通过

list(my_dict.items())

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

我的假设是否正确?

最佳答案

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

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

关于python - 为什么 Python2 到 Python3 转换器将 "items()"放入 "list"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48093038/

相关文章:

python - 如何比较python中的两个列表列表

python - Django Rest Framework 在创建后不返回所有字段

python - 为什么我们使用 `wraps` 而不是 `update_wrapper` 作为装饰器?

python - Numpy reshape - 是否复制数据?

python - 如何使用正则表达式或索引从非日期列派生日期?

python - 我应该向项目中的每个文件添加 __future__ 语句吗?

python - 如何检查 numpy 数组的维度?

python - shelve中的所有数据如何有序显示?

list - 动态规划中包含前缀和吗?

python - 有效比较两个大列表列表中每个列表中的第一项?