27

私はPythonを学ぼうとしていて、簡単なものを書こうとしていました。OS X 10.8 を使用して Pydev (Eclipse) で開発しています。64 ビット .dmg インストーラーを使用して python 3.2 をインストールしました。

Python インタープリターを正常に構成しました (または、実際に「hello world」プロジェクトを作成して実行できるので、そう思います)。しかし、何らかの理由で Set ( from sets import Set) をインポートしようとすると、次のエラーが発生します。

    from sets import Set;
ImportError: No module named sets

コマンドラインでもテストしましたが、同じエラーが発生しました。

次に、python3ディレクトリ(の下/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 にコピーしようとしましたが、どちらも機能しません。

4

3 に答える 3

57

setsモジュールはもう必要ありません。setは Python 3 の組み込みクラスであり、インポートなしで使用できます。

my_set = set()
于 2012-08-19T16:49:58.170 に答える
21

最近のすべての python バージョン セットは as として組み込まれており、Python 3 では非推奨のモジュールが完全setに取り除かれています。sets

コードが古いバージョンでも機能することを確認したい場合は、次のようにすることができます。

try:
    set
except NameError:
    from sets import Set as set

古いコードを実行する必要があり、それを変更したくない場合 (悪い! ):

try:
    from sets import Set
except ImportError:
    Set = set
于 2012-08-19T16:50:10.647 に答える
1

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

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)
于 2016-06-26T18:58:24.900 に答える