我努力学习Python和我试图写的东西很简单。 我使用的OS X 10.8 Pydev的(Eclipse中)下的发展。 我用64位的.dmg安装程序安装的Python 3.2。
我配置了Python解释器成功(或我是这么认为的,因为我居然可以创建一个“Hello World”项目并运行它)。 但由于某些原因,当我尝试导入设置( from sets import Set
)我得到这个错误:
from sets import Set;
ImportError: No module named sets
我已经测试了命令太行,并给了我同样的错误。
然后,我已经看了lib文件夹从(下我python3目录/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/
),它缺少sets.py文件! 最初的2.7版确实在有它/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/
我也曾尝试到2.7 sets.py复制到3.2,但它没有工作......拜托,你知道我有什么做的?
你不需要sets
模块了。 set
是在Python 3内置类,并可以在不导入使用。
my_set = set()
在最近的每一个Python版本集内置为set
和Python 3摆脱了过时的sets
共模块。
如果你想确保代码还与古老的版本,你可以做这样的事情,虽然:
try:
set
except NameError:
from sets import Set as set
如果你需要运行旧的代码并且不想改变它( 糟糕!):
try:
from sets import Set
except ImportError:
Set = set
你不需要使用
from sets import Set
engineers = Set(['John', 'Jane', 'Jack', 'Janice'])
因为版本2.6以上不推荐使用:
您可以使用下面的代码上面的2.6版本
engineers = set(['John', 'Jane', 'Jack', 'Janice'])
programmers = set(['Jack', 'Sam', 'Susan', 'Janice'])
managers = set(['Jane', 'Jack', 'Susan', 'Zack'])
employees = engineers | programmers | managers
print(employees)