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à 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ó một 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)
Thêm một phần tử vào tập hợp.
Tham số
Thông số | Mô tả |
---|---|
element
|
required Phần tử cần thêm. |
xóa
None
set.clear()
Xoá tất cả phần tử của tập hợp.
chênh lệch
set set.difference(*others)Trả về một tập hợp mới có thể thay đổi chứa sự khác biệt của tập hợp này với các tập hợp khác.
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ập hợp từ điển. |
difference_update
None
set.difference_update(*others)
Xoá mọi phần tử có trong bất kỳ tập hợp nào khác khỏi tập hợp này.
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ập hợp từ điển. |
hủy
None
set.discard(element)
Xoá một phần tử khỏi tập hợp nếu có.
Tham số
Thông số | Mô tả |
---|---|
element
|
required Phần tử cần loại bỏ. |
giao điểm
set set.intersection(*others)Trả về một tập hợp mới có thể thay đổi chứa giao của tập hợp này với các tập hợp khác.
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ập hợp từ điển. |
intersection_update
None
set.intersection_update(*others)
Xoá mọi phần tử không có trong tất cả các phần tử khác khỏi tập hợp này.
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ập hợp từ điển. |
isdisjoint
bool set.isdisjoint(other)Trả về true nếu tập hợp này không có phần tử nào chung với tập hợp khác.
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)Trả về true nếu tập hợp này là một tập hợp con của tập hợp khác.
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)Trả về true nếu tập hợp này là tập hợp con của tập hợp khác.
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á và trả về phần tử đầu tiên của tập hợp. Không thành công nếu tập hợp này trống.
xoá
None
set.remove(element)
Xoá một phần tử (phải có trong tập hợp) khỏi tập hợp. Không thành công nếu phần tử không có trong tập hợp.
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)Trả về một tập hợp mới có thể thay đổi chứa sự khác biệt đối xứng của tập hợp này với một tập hợp, trình tự hoặc từ điển khác.
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)
Trả về một tập hợp mới có thể thay đổi chứa sự khác biệt đối xứng của tập hợp này với một tập hợp, trình tự hoặc từ điển khác.
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)Trả về một tập hợp mới có thể thay đổi chứa tập hợp hợp nhất của tập hợp này với các tập hợp khác.
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ập hợp từ điển. |
cập nhật
None
set.update(*others)
Thêm các phần tử tìm thấy trong các tập hợp khác vào tập hợp này.
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ập hợp từ điển. |