Python2导入内置
我需要使代码与Python2/3兼容,并且它使用dict()内置代码,但我不知道如何从Python2导入内置,python,python-3.x,import,future,python-2.x,Python,Python 3.x,Import,Future,Python 2.x,我需要使代码与Python2/3兼容,并且它使用dict()内置代码,但我不知道如何从\uuuuuuuuuuuuuuuuuuuu模块导入它 比如说, Python3中不存在dict.iteritems(),Python2中也不存在dict.items()。您不能从未来导入dict,因为Python2已经有了一个dict。确实,Python2的dict.iteritems()与Python3的dict.items()差不多 但是,当您说Python 2没有dict.items(),并且没有什么可以
\uuuuuuuuuuuuuuuuuuuu
模块导入它
比如说,
Python3中不存在dict.iteritems(),Python2中也不存在dict.items()。您不能从未来导入dict
,因为Python2已经有了一个dict
。确实,Python2的dict.iteritems()
与Python3的dict.items()差不多
但是,当您说Python 2没有dict.items()
,并且没有什么可以阻止您在这两个版本中使用dict.items()
时,您是不正确的。在所有正常情况下,它们的行为都是相同的
通常,您会这样使用dict.items()
:
for k,v in mydict.items():
这两个版本的工作原理相同。能否显示您正在尝试使用的代码(或某些节略和相关版本)?据我所知,这两个版本都提供了内置的dict
,那么问题是什么呢?您可以从REPL执行以下操作以查看\uuuuuu future\uuuuu
'的所有属性<代码>导入\uuuu未来\uuuuu;dir(\uuuu future\uuuuuu)
@PaulRooney,我添加了一个示例。说python 2没有dict.items
方法是不正确的。它与python3的不同之处在于它返回一个列表,而不是一个惰性迭代器。因此,在大型字典上使用时效率很低。在Python2中,内置模块称为\uuuuu内置\uuu
。虽然我认为这对你没有帮助。有一个名为six的python库,它将为您提供一个可移植的版本。我想这取决于还有多少需要交叉版本。一个函数调用一个库可能不值得。请参阅。我不相信它是100%准确的(我用py2试过的一些东西不起作用,可能是版本问题),但你可能会发现一些有用的东西。