pythonを学び、シンプルなものを書こうとしていました。OSX 10.8を使用してPydev(Eclipse)で開発しています。python 3.2 64ビット.dmgインストーラーの使用。
Pythonインタープリターを正常に構成しました(または、実際に「hello world」プロジェクトを作成して実行できるため、そう思います)。しかし、何らかの理由で、Set(from sets import Set
)次のエラーが表示されます:
from sets import Set;
ImportError: No module named sets
コマンドラインでもテストしましたが、同じエラーが発生します。
次に、python_3ディレクトリ(/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/
の下)のlibフォルダーを確認しましたが、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
古いコードを実行する必要があり、変更したくない場合(bad!):
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)