Python Languageセット

構文

  • empty_set = set()#空のセットを初期化する
  • literal_set = {'foo'、 'bar'、 'baz'}#内部に3つの文字列を含むセットを構築する
  • set_from_list = set(['foo'、 'bar'、 'baz'])#新しいセットに対してset関数を呼び出す
  • set_from_iter = set(範囲(30)のxはx)#任意のiterablesを使用して集合を作成する
  • set_from_iter = {xは範囲(10)のiに対して[random.randint(0,10)]のxに対して}}#代替表記

備考

セットは順不同であり、 非常に高速なルックアップ時間を持っています(テクニカルを取得する場合は、償却O(1))。あなたが物事のコレクションを持っているときに、順序は関係ありません、あなたは多くの名前で項目を探しているでしょう使用することは素晴らしいです。インデックス番号で項目を参照する方が合理的な場合は、代わりにリストを使用することを検討してください。注文が重要な場合は、リストも考慮してください。

セットは変更可能であり、したがってハッシュすることはできません。したがって、それらをディクショナリ・キーとして使用することも、他のセットに入れることも、ハッシュ可能タイプを必要とするその他の場所に置くこともできません。そのような場合、不変のfrozenset使用することができます。

セットの要素はハッシュ可能でなければなりません。これは、正しい__hash__メソッドを持っていることを意味します。これは__hash__と一貫してい__eq__ 。一般に、 listsetなどの可変型はハッシュ可能ではなく、セットに入れることはできません。この問題が発生した場合は、 dictと不変キーの使用を検討してください。

セット 関連する例