試験運用版。この API は試験運用版であり、随時変更される可能性があります。これに依存しないでください。--experimental_enable_starlark_set
を設定することで、試験運用版として有効にできます。
組み込みの可変セット型。セット式の例:
x = set() # x is an empty set y = set([1, 2, 3]) # y is a set with 3 elements 3 in y # True 0 in y # False len(x) # 0 len(y) # 3
ブール値コンテキストで使用されるセットは、空でない場合のみ true です。
s = set() "non-empty" if s else "empty" # "empty" t = set(["x", "y"]) "non-empty" if t else "empty" # "non-empty"
セットの要素はハッシュ可能である必要があります。x
が辞書のキーとして使用できる場合にのみ、x
をセットの要素にできます。
セット自体はハッシュ化できないため、別のセットを要素として持つセットを作成することはできません。
セットの要素にはインデックスでアクセスできませんが、反復処理できます。また、list()
組み込み関数を使用して、セットの要素のリストを反復順序で取得できます。リストの場合と同様に、反復処理中にセットを変更することはエラーです。反復の順序は広告掲載オーダーと一致します。
s = set([3, 1, 3]) s.add(2) # prints 3, 1, 2 for item in s: print(item) list(s) # [3, 1, 2]
s
が t
と等しいのは、t
が同じ要素を含むセットであり、反復順序が異なる可能性がある場合のみです。特に、セットは要素のリストと等しいものです。not
セットは順序付けされていません。<
、<=
、>
、>=
オペレーションはセットに対して定義されておらず、Python とは異なり、セットのリストを並べ替えることはできません。
2 つのセットに対する |
オペレーションは、2 つのセットの結合を返します。これは、元のセットの一つまたは両方にある要素を含むセットです。|
オペレーションには拡張代入バージョンがあります。s |= t
は t
のすべての要素を s
に追加します。
set([1, 2]) | set([3, 2]) # set([1, 2, 3]) s = set([1, 2]) s |= set([2, 3, 4]) # s now equals set([1, 2, 3, 4])
2 つのセットに対する &
演算は、2 つのセットの共通部分を返します。これは、元の両方のセットに存在する要素のみを含むセットです。&
オペレーションには拡張代入バージョンがあります。s &= t
は、t
にないすべての要素を s
から削除します。
set([1, 2]) & set([2, 3]) # set([2]) set([1, 2]) & set([3, 4]) # set() s = set([1, 2]) s &= set([0, 1]) # s now equals set([1])
2 つのセットに対する -
演算は、2 つのセットの差を返します。これは、左側のセットには存在し、右側のセットには存在しない要素を含むセットです。-
オペレーションには拡張代入バージョンがあります。s -= t
は、t
にあるすべての要素を s
から削除します。
set([1, 2]) - set([2, 3]) # set([1]) set([1, 2]) - set([3, 4]) # set([1, 2]) s = set([1, 2]) s -= set([0, 1]) # s now equals set([2])
2 つのセットに対する ^
演算は、2 つのセットの対称差を返します。これは、2 つの元のセットのうち 1 つにのみ存在し、両方に存在しない要素を含むセットです。^
オペレーションには、拡張代入バージョンがあります。s ^= t
は、s
にある t
の要素を s
から削除し、s
にない t
の要素を s
に追加します。
set([1, 2]) ^ set([2, 3]) # set([1, 3]) set([1, 2]) ^ set([3, 4]) # set([1, 2, 3, 4]) s = set([1, 2]) s ^= set([0, 1]) # s now equals set([2, 0])
メンバー
- 追加
- クリア
- 差異
- difference_update
- 破棄
- 交差点
- intersection_update
- isdisjoint
- issubset
- issuperset
- pop
- 削除
- symmetric_difference
- symmetric_difference_update
- union
- update
追加
None
set.add(element)
パラメータ
パラメータ | 説明 |
---|---|
element
|
必須 追加する要素。 |
クリア
None
set.clear()
差異
set set.difference(*others)
次に例を示します。
set([1, 2, 3]).intersection([1, 2], [2, 3]) == set([2])
パラメータ
パラメータ | 説明 |
---|---|
others
|
必須 セット、シーケンス、ディクショナリ。 |
difference_update
None
set.difference_update(*others)
次に例を示します。
x = set([1, 2, 3, 4]) x.difference_update([2, 3], [3, 4]) # x is now set([1])
パラメータ
パラメータ | 説明 |
---|---|
others
|
必須 セット、シーケンス、ディクショナリ。 |
破棄
None
set.discard(element)
パラメータ
パラメータ | 説明 |
---|---|
element
|
必須 破棄する要素。 |
共通集合
set set.intersection(*others)
次に例を示します。
set([1, 2, 3]).intersection([1, 2], [2, 3]) == set([2])
パラメータ
パラメータ | 説明 |
---|---|
others
|
必須 セット、シーケンス、ディクショナリ。 |
intersection_update
None
set.intersection_update(*others)
次に例を示します。
x = set([1, 2, 3, 4]) x.intersection_update([2, 3], [3, 4]) # x is now set([3])
パラメータ
パラメータ | 説明 |
---|---|
others
|
必須 セット、シーケンス、ディクショナリ。 |
isdisjoint
bool set.isdisjoint(other)
次に例を示します。
set([1, 2]).isdisjoint([3, 4]) == True set().isdisjoint(set()) == True set([1, 2]).isdisjoint([2, 3]) == False
パラメータ
パラメータ | 説明 |
---|---|
other
|
必須 セット、シーケンス、または辞書。 |
issubset
bool set.issubset(other)
次に例を示します。
set([1, 2]).issubset([1, 2, 3]) == True set([1, 2]).issubset([1, 2]) == True set([1, 2]).issubset([2, 3]) == False
パラメータ
パラメータ | 説明 |
---|---|
other
|
必須 セット、シーケンス、または辞書。 |
issuperset
bool set.issuperset(other)
次に例を示します。
set([1, 2, 3]).issuperset([1, 2]) == True set([1, 2, 3]).issuperset([1, 2, 3]) == True set([1, 2, 3]).issuperset([2, 3, 4]) == False
パラメータ
パラメータ | 説明 |
---|---|
other
|
必須 セット、シーケンス、または辞書。 |
ポップ
unknown set.pop()
削除
None
set.remove(element)
パラメータ
パラメータ | 説明 |
---|---|
element
|
必須 削除する要素。 |
symmetric_difference
set set.symmetric_difference(other)
次に例を示します。
set([1, 2, 3]).symmetric_difference([2, 3, 4]) == set([1, 4])
パラメータ
パラメータ | 説明 |
---|---|
other
|
必須 セット、シーケンス、または辞書。 |
symmetric_difference_update
None
set.symmetric_difference_update(other)
次に例を示します。
set([1, 2, 3]).symmetric_difference([2, 3, 4]) == set([1, 4])
パラメータ
パラメータ | 説明 |
---|---|
other
|
必須 セット、シーケンス、または辞書。 |
ユニオン
set set.union(*others)
次に例を示します。
set([1, 2]).union([2, 3, 4], [4, 5]) == set([1, 2, 3, 4, 5])
パラメータ
パラメータ | 説明 |
---|---|
others
|
必須 セット、シーケンス、ディクショナリ。 |
update
None
set.update(*others)
次に例を示します。
x = set([1, 2]) x.update([2, 3], [3, 4]) # x is now set([1, 2, 3, 4])
パラメータ
パラメータ | 説明 |
---|---|
others
|
必須 セット、シーケンス、ディクショナリ。 |