Thử nghiệm. API này đang trong giai đoạn thử nghiệm và có thể thay đổi bất cứ lúc nào. Vui lòng không phụ thuộc vào giá trị này. Bạn có thể bật tính năng này trên cơ sở thử nghiệm bằng cách thiết lập --experimental_enable_starlark_set
.
Loại tập hợp có thể thay đổi tích hợp sẵn. Ví dụ về biểu thức tập hợp:
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
Một tập hợp được dùng trong ngữ cảnh Boolean là đúng nếu và chỉ khi tập hợp đó không trống.
s = set() "non-empty" if s else "empty" # "empty" t = set(["x", "y"]) "non-empty" if t else "empty" # "non-empty"
Các phần tử của một tập hợp phải có thể băm; x
có thể là một phần tử của một tập hợp nếu và chỉ khi x
có thể được dùng làm khoá của một tập hợp.
Bản thân tập hợp không thể băm được; do đó, bạn không thể có một tập hợp với một tập hợp khác làm phần tử.
Bạn không thể truy cập vào các phần tử của một tập hợp theo chỉ mục, nhưng bạn có thể lặp lại các phần tử đó và bạn có thể lấy danh sách các phần tử của một tập hợp theo thứ tự lặp lại bằng cách sử dụng hàm tích hợp sẵn list()
. Giống như đối với danh sách, việc thay đổi một tập hợp trong khi tập hợp đó đang được lặp lại sẽ gây ra lỗi. Thứ tự lặp lại khớp với thứ tự chèn:
s = set([3, 1, 3]) s.add(2) # prints 3, 1, 2 for item in s: print(item) list(s) # [3, 1, 2]
Tập hợp s
bằng t
nếu và chỉ khi t
là một tập hợp chứa cùng các phần tử, có thể có thứ tự lặp lại khác. Cụ thể, một tập hợp là not
bằng danh sách phần tử của tập hợp đó.
Các tập hợp không được sắp xếp; các phép toán <
, <=
, >
và >=
không được xác định cho các tập hợp và không thể sắp xếp danh sách các tập hợp – không giống như trong Python.
Toán tử |
trên hai tập hợp trả về tập hợp hợp nhất của hai tập hợp: một tập hợp chứa các phần tử có trong một hoặc cả hai tập hợp ban đầu. Toán tử |
có phiên bản gán mở rộng; s |= t
thêm vào s
tất cả các phần tử của t
.
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])
Toán tử &
trên hai tập hợp trả về giao của hai tập hợp: một tập hợp chỉ chứa các phần tử có trong cả hai tập hợp ban đầu. Toán tử &
có phiên bản gán tăng cường; s &= t
xoá khỏi s
tất cả các phần tử không tìm thấy trong t
.
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])
Toán tử -
trên hai tập hợp trả về sự khác biệt của hai tập hợp: một tập hợp chứa các phần tử có trong tập hợp bên trái nhưng không có trong tập hợp bên phải. Toán tử -
có phiên bản gán tăng cường; s -= t
xoá khỏi s
tất cả các phần tử tìm thấy trong t
.
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])
Toán tử ^
trên hai tập hợp trả về sự khác biệt đối xứng của hai tập hợp: một tập hợp chứa các phần tử được tìm thấy trong đúng một trong hai tập hợp ban đầu, nhưng không có trong cả hai. Toán tử ^
có phiên bản gán tăng cường; s ^= t
xoá khỏi s
mọi phần tử của t
có trong s
và thêm vào s
mọi phần tử của t
không có trong 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])
Hội viên
- thêm
- clear
- difference
- difference_update
- loại bỏ
- giao lộ
- intersection_update
- isdisjoint
- issubset
- issuperset
- nhạc pop
- xoá
- symmetric_difference
- symmetric_difference_update
- union
- update
thêm
None
set.add(element)
Tham số
Thông số | Mô tả |
---|---|
element
|
required Phần tử cần thêm. |
xóa
None
set.clear()
chênh lệch
set set.difference(*others)
Ví dụ:
set([1, 2, 3]).intersection([1, 2], [2, 3]) == set([2])
Tham số
Thông số | Mô tả |
---|---|
others
|
bắt buộc Tập hợp, trình tự hoặc từ điển. |
difference_update
None
set.difference_update(*others)
Ví dụ:
x = set([1, 2, 3, 4]) x.difference_update([2, 3], [3, 4]) # x is now set([1])
Tham số
Thông số | Mô tả |
---|---|
others
|
bắt buộc Tập hợp, trình tự hoặc từ điển. |
hủy
None
set.discard(element)
Tham số
Thông số | Mô tả |
---|---|
element
|
required Phần tử cần loại bỏ. |
giao điểm
set set.intersection(*others)
Ví dụ:
set([1, 2, 3]).intersection([1, 2], [2, 3]) == set([2])
Tham số
Thông số | Mô tả |
---|---|
others
|
bắt buộc Tập hợp, trình tự hoặc từ điển. |
intersection_update
None
set.intersection_update(*others)
Ví dụ:
x = set([1, 2, 3, 4]) x.intersection_update([2, 3], [3, 4]) # x is now set([3])
Tham số
Thông số | Mô tả |
---|---|
others
|
bắt buộc Tập hợp, trình tự hoặc từ điển. |
isdisjoint
bool set.isdisjoint(other)
Ví dụ:
set([1, 2]).isdisjoint([3, 4]) == True set().isdisjoint(set()) == True set([1, 2]).isdisjoint([2, 3]) == False
Tham số
Thông số | Mô tả |
---|---|
other
|
bắt buộc Một tập hợp, trình tự hoặc từ điển. |
issubset
bool set.issubset(other)
Ví dụ:
set([1, 2]).issubset([1, 2, 3]) == True set([1, 2]).issubset([1, 2]) == True set([1, 2]).issubset([2, 3]) == False
Tham số
Thông số | Mô tả |
---|---|
other
|
bắt buộc Một tập hợp, trình tự hoặc từ điển. |
issuperset
bool set.issuperset(other)
Ví dụ:
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
Tham số
Thông số | Mô tả |
---|---|
other
|
bắt buộc Một tập hợp, trình tự hoặc từ điển. |
nhạc pop
unknown set.pop()
xoá
None
set.remove(element)
Tham số
Thông số | Mô tả |
---|---|
element
|
bắt buộc Phần tử cần xoá. |
symmetric_difference
set set.symmetric_difference(other)
Ví dụ:
set([1, 2, 3]).symmetric_difference([2, 3, 4]) == set([1, 4])
Tham số
Thông số | Mô tả |
---|---|
other
|
bắt buộc Một tập hợp, trình tự hoặc từ điển. |
symmetric_difference_update
None
set.symmetric_difference_update(other)
Ví dụ:
set([1, 2, 3]).symmetric_difference([2, 3, 4]) == set([1, 4])
Tham số
Thông số | Mô tả |
---|---|
other
|
bắt buộc Một tập hợp, trình tự hoặc từ điển. |
union
set set.union(*others)
Ví dụ:
set([1, 2]).union([2, 3, 4], [4, 5]) == set([1, 2, 3, 4, 5])
Tham số
Thông số | Mô tả |
---|---|
others
|
bắt buộc Tập hợp, trình tự hoặc từ điển. |
cập nhật
None
set.update(*others)
Ví dụ:
x = set([1, 2]) x.update([2, 3], [3, 4]) # x is now set([1, 2, 3, 4])
Tham số
Thông số | Mô tả |
---|---|
others
|
bắt buộc Tập hợp, trình tự hoặc từ điển. |