Rom*_*man 1 python items list python-3.x
我使用工具将我的代码从Python2重新格式化为Python3.它总是做的一件事就是更换
my_dict.items()
Run Code Online (Sandbox Code Playgroud)
通过
list(my_dict.items())
Run Code Online (Sandbox Code Playgroud)
那背后的动机是什么?我假设items()不保证订购(它是随机的,因为字典没有订购).所以,通过使用list我们订购key, value对.
我的假设是否正确?
的keys(),values()和items()方法list在3.X回报的观点,而不是名单,所以要保护他们的2.x的行为,我们需要把视图转换为列表.
如果不需要这种旧行为(例如,我们只迭代结果),则list()可以删除调用.