web-dev-qa-db-ja.com

Python-セットからセットをインポートできません(「セットという名前のモジュールはありません」)

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()
45

最近のすべての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
18
ThiefMaster

使用する必要はありません

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)
0
Shyam Gupta