您可以放心地忽略此“额外预防措施”警告:
即使list
_在两个版本的Python中,代码都一样工作。如果需要一个列表,它将以不同的方式运行(但事实并非如此):实际上,在Python
2中features.items()
是一个 _列表 ,但在Python 3中是一个
视图
。它们在用作可迭代对象时的作用相同,如您的示例。
现在,Python 2到Python 3转换工具
2to3在安全性方面有误,并假定您在使用时确实想要一个
列表
dict.items()。情况可能并非如此(如在问题中所示),在
dict.items()Python
3中,这种情况(不包装
list)会更好(更快,并且内存消耗更少,因为没有构建列表)。
具体来说,这意味着Python 2代码可以显式地遍历视图:(
for k, v in features.viewitems()将在Python
3中通过
2to3to进行转换
features.items())。看来您的IDE认为代码是Python 2,因为您的
for声明在Python
3中非常好,因此不应警告有关Python 3的支持。



