Collection có thể cập nhật và chỉ giữ các giá trị không trùng nhau.
Cú pháp
set(iterable=None, /)
Tham số
Không có
Giá trị trả về
set
Hành vi / tác động
Collection có thể cập nhật và chỉ giữ các giá trị không trùng nhau. CogniTab giữ thứ tự lặp ổn định để output script dễ đọc.
Thực thi
Chờ hoàn tất: Không
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Có
Thao tác giá trị chạy trong luồng gọi, không chủ động chờ chụp màn hình, hoàn tất cử chỉ hoặc nhập liệu. Tạo container/builder có thể thay đổi riêng cho từng luồng; đây là sự cô lập, không bảo đảm đồng bộ đối tượng dùng chung.
Ví dụ
seen = {1, 2, 2}
seen.add(3)
if 2 in seen:
text(str(seen))
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
API liên quan
Không có
Phương thức
17 phương thức
set.constructor
Creation Method
Tạo set rỗng hoặc gom các giá trị không trùng từ iterable khác, bao gồm generator expression.
Cú pháp
set()
set(iterable, /)
Tham số
Tên
Mô tả
iterableIterable
Nguồn giá trị tùy chọn để gom vào set mới và loại phần tử trùng.
Tùy dạng gọi · Chỉ truyền theo vị trí
Mặc định:None
Giá trị trả về
set — Một set mới có thể cập nhật.
Hành vi / tác động
Tạo set rỗng hoặc gom các giá trị không trùng từ iterable khác, bao gồm generator expression.
Thực thi
Chờ hoàn tất: Không
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Có
Thao tác giá trị chạy trong luồng gọi, không chủ động chờ chụp màn hình, hoàn tất cử chỉ hoặc nhập liệu. Tạo container/builder có thể thay đổi riêng cho từng luồng; đây là sự cô lập, không bảo đảm đồng bộ đối tượng dùng chung.
Ví dụ
seen = set()
unique = set([1, 2, 2, 3])
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
set — Một set mới có thể cập nhật và chỉ giữ một bản của mỗi giá trị.
Hành vi / tác động
Tạo set literal ngay trong dòng. Dùng dict() hoặc {} cho dictionary rỗng; dùng set() cho set rỗng.
Thực thi
Chờ hoàn tất: Không
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Có
Thao tác giá trị chạy trong luồng gọi, không chủ động chờ chụp màn hình, hoàn tất cử chỉ hoặc nhập liệu. Tạo container/builder có thể thay đổi riêng cho từng luồng; đây là sự cô lập, không bảo đảm đồng bộ đối tượng dùng chung.
Tạo set bằng cách lặp qua iterable và giữ các giá trị đã tính không trùng nhau.
Cú pháp
{expr for target in iterable if condition}
Tham số
Tên
Mô tả
exprAny?
Giá trị được tính cho mỗi phần tử đạt điều kiện.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định
targetName | destructuring target
Target nhận phần tử hiện tại. Chưa hỗ trợ starred target.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định
iterableIterable
Nguồn giá trị cần lặp.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định
conditionBoolean
Bộ lọc tùy chọn, được kiểm tra trước khi thêm giá trị.
Tùy chọn · Chỉ truyền theo vị trí
Mặc định:True
Giá trị trả về
set — Một set mới có thể cập nhật.
Hành vi / tác động
Tạo set bằng cách lặp qua iterable và giữ các giá trị đã tính không trùng nhau. Có thể dùng nhiều mệnh đề for/if.
Thực thi
Chờ hoàn tất: Không
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Có
Thao tác giá trị chạy trong luồng gọi, không chủ động chờ chụp màn hình, hoàn tất cử chỉ hoặc nhập liệu. Tạo container/builder có thể thay đổi riêng cho từng luồng; đây là sự cô lập, không bảo đảm đồng bộ đối tượng dùng chung.
Ví dụ
values = [1, 2, 3, 4, 5]
remainders = {x % 3 for x in values}
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Có
Thao tác giá trị chạy trong luồng gọi, không chủ động chờ chụp màn hình, hoàn tất cử chỉ hoặc nhập liệu. Tạo container/builder có thể thay đổi riêng cho từng luồng; đây là sự cô lập, không bảo đảm đồng bộ đối tượng dùng chung.
Ví dụ
values = {1, 2, 2}
count = len(values) # trả về 2
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
Kiểm tra một giá trị có tồn tại trong set hay không.
Cú pháp
value in set
Tham số
Tên
Mô tả
valueAny?
Giá trị cần kiểm tra.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định
setset
set dùng để kiểm tra membership.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định
Giá trị trả về
Boolean — true khi giá trị tồn tại, ngược lại false.
Hành vi / tác động
Kiểm tra một giá trị có tồn tại trong set hay không.
Thực thi
Chờ hoàn tất: Không
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Có
Thao tác giá trị chạy trong luồng gọi, không chủ động chờ chụp màn hình, hoàn tất cử chỉ hoặc nhập liệu. Tạo container/builder có thể thay đổi riêng cho từng luồng; đây là sự cô lập, không bảo đảm đồng bộ đối tượng dùng chung.
Ví dụ
values = {1, 2, 3}
if 2 in values:
text("ready")
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
None — Không trả về trực tiếp. set được cập nhật ngay tại chỗ.
Hành vi / tác động
Thêm một giá trị vào set. Giá trị đã có sẵn chỉ được giữ một lần.
Thực thi
Chờ hoàn tất: Không
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Có
Thao tác giá trị chạy trong luồng gọi, không chủ động chờ chụp màn hình, hoàn tất cử chỉ hoặc nhập liệu. Tạo container/builder có thể thay đổi riêng cho từng luồng; đây là sự cô lập, không bảo đảm đồng bộ đối tượng dùng chung.
Ví dụ
seen = set()
seen.add("home")
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
None — Không trả về trực tiếp. set có thể được cập nhật ngay tại chỗ.
Hành vi / tác động
Xóa giá trị nếu đang tồn tại. Giá trị không có trong set sẽ được bỏ qua.
Thực thi
Chờ hoàn tất: Không
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Có
Thao tác giá trị chạy trong luồng gọi, không chủ động chờ chụp màn hình, hoàn tất cử chỉ hoặc nhập liệu. Tạo container/builder có thể thay đổi riêng cho từng luồng; đây là sự cô lập, không bảo đảm đồng bộ đối tượng dùng chung.
Ví dụ
seen = {"home", "shop"}
seen.discard("shop")
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
None — Không trả về trực tiếp. set được cập nhật ngay tại chỗ.
Hành vi / tác động
Xóa một giá trị đang tồn tại. Nếu thiếu giá trị, runtime sẽ báo lỗi để lỗi script không bị ẩn.
Thực thi
Chờ hoàn tất: Không
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Có
Thao tác giá trị chạy trong luồng gọi, không chủ động chờ chụp màn hình, hoàn tất cử chỉ hoặc nhập liệu. Tạo container/builder có thể thay đổi riêng cho từng luồng; đây là sự cô lập, không bảo đảm đồng bộ đối tượng dùng chung.
Ví dụ
seen = {"home", "shop"}
seen.remove("home")
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
Xóa và trả về một giá trị trong set. Set rỗng sẽ báo lỗi runtime.
Thực thi
Chờ hoàn tất: Không
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Có
Thao tác giá trị chạy trong luồng gọi, không chủ động chờ chụp màn hình, hoàn tất cử chỉ hoặc nhập liệu. Tạo container/builder có thể thay đổi riêng cho từng luồng; đây là sự cô lập, không bảo đảm đồng bộ đối tượng dùng chung.
Ví dụ
seen = {"home", "shop"}
value = seen.pop()
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
None — Không trả về trực tiếp. set được cập nhật ngay tại chỗ.
Hành vi / tác động
Thêm giá trị từ một hoặc nhiều iterable vào set.
Thực thi
Chờ hoàn tất: Không
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Có
Thao tác giá trị chạy trong luồng gọi, không chủ động chờ chụp màn hình, hoàn tất cử chỉ hoặc nhập liệu. Tạo container/builder có thể thay đổi riêng cho từng luồng; đây là sự cô lập, không bảo đảm đồng bộ đối tượng dùng chung.
Ví dụ
seen = {"home"}
seen.update(["shop", "home"])
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
Trả về set mới gồm giá trị từ set này và các iterable đã truyền.
Cú pháp
set.union(*iterables)
Tham số
Tên
Mô tả
iterablesIterable
Các nguồn cần gộp.
Tùy chọn · Số lượng đối số linh hoạt
Không có giá trị mặc định
Giá trị trả về
set — Bản sao set đã gộp.
Hành vi / tác động
Trả về set mới gồm giá trị từ set này và các iterable đã truyền.
Thực thi
Chờ hoàn tất: Không
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Có
Thao tác giá trị chạy trong luồng gọi, không chủ động chờ chụp màn hình, hoàn tất cử chỉ hoặc nhập liệu. Tạo container/builder có thể thay đổi riêng cho từng luồng; đây là sự cô lập, không bảo đảm đồng bộ đối tượng dùng chung.
Ví dụ
a = {"home"}
b = a.union(["shop"])
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
Trả về set mới gồm các giá trị cũng có trong mọi iterable đã truyền.
Cú pháp
set.intersection(*iterables)
Tham số
Tên
Mô tả
iterablesIterable
Các nguồn cần so sánh.
Tùy chọn · Số lượng đối số linh hoạt
Không có giá trị mặc định
Giá trị trả về
set — Bản sao set phần giao.
Hành vi / tác động
Trả về set mới gồm các giá trị cũng có trong mọi iterable đã truyền.
Thực thi
Chờ hoàn tất: Không
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Có
Thao tác giá trị chạy trong luồng gọi, không chủ động chờ chụp màn hình, hoàn tất cử chỉ hoặc nhập liệu. Tạo container/builder có thể thay đổi riêng cho từng luồng; đây là sự cô lập, không bảo đảm đồng bộ đối tượng dùng chung.
Ví dụ
a = {"home", "shop"}
b = a.intersection(["shop"])
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
Trả về set mới sau khi loại các giá trị có trong iterable đã truyền.
Cú pháp
set.difference(*iterables)
Tham số
Tên
Mô tả
iterablesIterable
Các nguồn cần trừ.
Tùy chọn · Số lượng đối số linh hoạt
Không có giá trị mặc định
Giá trị trả về
set — Bản sao set sau khi trừ.
Hành vi / tác động
Trả về set mới sau khi loại các giá trị có trong iterable đã truyền.
Thực thi
Chờ hoàn tất: Không
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Có
Thao tác giá trị chạy trong luồng gọi, không chủ động chờ chụp màn hình, hoàn tất cử chỉ hoặc nhập liệu. Tạo container/builder có thể thay đổi riêng cho từng luồng; đây là sự cô lập, không bảo đảm đồng bộ đối tượng dùng chung.
Ví dụ
a = {"home", "shop"}
b = a.difference(["home"])
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Có
Thao tác giá trị chạy trong luồng gọi, không chủ động chờ chụp màn hình, hoàn tất cử chỉ hoặc nhập liệu. Tạo container/builder có thể thay đổi riêng cho từng luồng; đây là sự cô lập, không bảo đảm đồng bộ đối tượng dùng chung.
Ví dụ
seen = {1, 2}
copied = seen.copy()
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
None — Không trả về trực tiếp. set sẽ trở thành rỗng.
Hành vi / tác động
Xóa toàn bộ giá trị trong set.
Thực thi
Chờ hoàn tất: Không
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Có
Thao tác giá trị chạy trong luồng gọi, không chủ động chờ chụp màn hình, hoàn tất cử chỉ hoặc nhập liệu. Tạo container/builder có thể thay đổi riêng cho từng luồng; đây là sự cô lập, không bảo đảm đồng bộ đối tượng dùng chung.
Ví dụ
seen = {1, 2}
seen.clear()
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
None — Không trả về trực tiếp. Vòng lặp chạy một lần cho mỗi giá trị.
Hành vi / tác động
Lặp qua các giá trị theo thứ tự thêm vào ổn định.
Thực thi
Chờ hoàn tất: Không
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Có
Thao tác giá trị chạy trong luồng gọi, không chủ động chờ chụp màn hình, hoàn tất cử chỉ hoặc nhập liệu. Tạo container/builder có thể thay đổi riêng cho từng luồng; đây là sự cô lập, không bảo đảm đồng bộ đối tượng dùng chung.
Ví dụ
values = {"home", "shop"}
for value in values:
text(value)
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.
Boolean condition — true khi set không rỗng, false khi set rỗng.
Hành vi / tác động
Kiểm tra set có ít nhất một giá trị hay không. set rỗng được xem là false.
Thực thi
Chờ hoàn tất: Không
An toàn khi chạy đồng thời: Dùng đối tượng riêng cho mỗi luồng
Chạy song song: Có
Thao tác giá trị chạy trong luồng gọi, không chủ động chờ chụp màn hình, hoàn tất cử chỉ hoặc nhập liệu. Tạo container/builder có thể thay đổi riêng cho từng luồng; đây là sự cô lập, không bảo đảm đồng bộ đối tượng dùng chung.
Ví dụ
seen = set()
if not seen:
text("empty")
Lỗi / giới hạn
Không có giới hạn bổ sung được ghi nhận; tuân thủ hợp đồng tham số và hành vi ở trên.