私はpythonを学んでいて、セットの初期化について初心者の質問があります。テストの結果、セットは次のように初期化できることがわかりました。
my_set = {'foo', 'bar', 'baz'}
次の標準的な方法とは対照的に、この方法を使用することの欠点はありますか?
my_set = set(['foo', 'bar', 'baz'])
それとも単なるスタイルの問題ですか?
2
ドキュメンテーションはそれを述べていますが、そこにはありません。これは非推奨のモジュールのドキュメントであり、実際のセットは組み込みになっていることに注意してください。「Python 2.7の新機能」ドキュメントにあり、言語リファレンスで簡単に説明されています。docs.python.org
@delnan私はpython 2.7を使用しているので、python 3のドキュメントを調べようとは思いませんでした。私が投稿したリンクは2.7用ですが、奇妙なことにこれについて言及していません。
—
fvrghl 2013年
私はコメントを編集してから、2.7のドキュメントにもこれが記載されています。あなたが投稿したリンクは古く、過去の遺物であり、間違っており、非推奨です。それはそれ自体ではなく、使用することを説明しますどのような存在し、使用することを忘れ:docs.python.org/2/library/stdtypes.html#setとdocs.python.org/2/library/stdtypes.html#frozenset
@delnan助けてくれてありがとう。質問を編集して、ドキュメントがないとは言わないようにしました(ただし、これについてオンラインで言及している例はほとんどありません)。
—
fvrghl 2013年
通行人の場合:リテラルを使用できる場合、Pycharmは関数呼び出しの使用を警告します-パフォーマンス上の理由がある可能性があるため、新しいコードではリテラルを設定する方法を好む
—
Mr_and_Mrs_D