試験運用版。この 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)このセットに別のセットと共通する要素がない場合、true を返します。
例:
set([1, 2]).isdisjoint([3, 4]) == True set().isdisjoint(set()) == True set([1, 2]).isdisjoint([2, 3]) == False
パラメータ
パラメータ | 説明 |
---|---|
other
|
必須 セット、シーケンス、または辞書。 |
issubset
bool set.issubset(other)このセットが別のセットのサブセットである場合は true を返します。
例:
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)このセットが別のセットのスーパーセットである場合は true を返します。
例:
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
|
必須 セット、シーケンス、ディクショナリ。 |