실험용 이 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과 달리 <
, <=
, >
, >=
연산은 집합에 정의되지 않으며 집합 목록은 정렬할 수 없습니다.
두 집합에 대한 |
연산은 두 집합의 합집합을 반환합니다. 즉, 원래 집합 중 하나 또는 둘 다에 있는 요소가 포함된 집합입니다. |
작업에는 증강 할당 버전이 있습니다. 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])
두 집합에 대한 &
연산은 두 집합의 교집합을 반환합니다. 즉, 두 원래 집합 모두에 있는 요소만 포함된 집합입니다. &
작업에는 증강 할당 버전이 있습니다. 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])
두 집합에 대한 -
연산은 두 집합의 차이를 반환합니다. 즉, 왼쪽 집합에는 있지만 오른쪽 집합에는 없는 요소가 포함된 집합입니다. -
작업에는 증강 할당 버전이 있습니다. 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])
두 집합에 대한 ^
연산은 두 집합의 대칭 차를 반환합니다. 즉, 두 원래 집합 중 하나에만 있고 두 집합 모두에 없는 요소가 포함된 집합입니다. ^
연산에는 증강 할당 버전이 있습니다. 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
- intersection_update
- isdisjoint
- issubset
- issuperset
- pop
- 삭제
- symmetric_difference
- symmetric_difference_update
- union
- 업데이트
추가
None
set.add(element)
매개변수
매개변수 | 설명 |
---|---|
element
|
required 추가할 요소입니다. |
지우기
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
|
required 삭제할 요소입니다. |
교집합
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
|
required 삭제할 요소입니다. |
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
|
필수 집합, 시퀀스 또는 사전 |