Runtime v2.81 · Cập nhật 30 thg 9, 2026

set

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

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ênMô 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.

API liên quan

set.literal

Tạo set literal ngay trong dòng.

Cú pháp

{1, 2, 3}

Tham số

TênMô tả
valueAny?
Mỗi giá trị được viết bên trong cặp ngoặc nhọn.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định

Giá trị trả về

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.

Ví dụ

unique = {1, 2, 2, 3}
text(str(unique))        # trả về {1, 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.

API liên quan

set.comprehension

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ênMô 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.

API liên quan

set.length

Đếm số giá trị không trùng đang có trong set.

Cú pháp

len(set, /)

Tham số

TênMô tả
setset
set cần đếm.
Bắt buộc · Chỉ truyền theo vị trí
Không có giá trị mặc định

Giá trị trả về

Int — Số giá trị trong set.

Hành vi / tác động

Đếm số giá trị không trùng đang có 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ụ

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.

API liên quan

set.membership_operator

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ênMô 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.

API liên quan

set.add_method

Thêm một giá trị vào set.

Cú pháp

set.add(value, /)

Tham số

TênMô tả
valueAny?
Giá trị cần thêm.
Bắt buộc · Chỉ truyền theo vị trí
Không có giá trị mặc định

Giá trị trả về

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.

API liên quan

set.discard_method

Xóa giá trị nếu đang tồn tại.

Cú pháp

set.discard(value, /)

Tham số

TênMô tả
valueAny?
Giá trị cần xóa nếu đang có.
Bắt buộc · Chỉ truyền theo vị trí
Không có giá trị mặc định

Giá trị trả về

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.

API liên quan

set.remove_method

Xóa một giá trị đang tồn tại.

Cú pháp

set.remove(value, /)

Tham số

TênMô tả
valueAny?
Giá trị bắt buộc phải tồn tại trong set.
Bắt buộc · Chỉ truyền theo vị trí
Không có giá trị mặc định

Giá trị trả về

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.

API liên quan

set.pop_method

Xóa và trả về một giá trị trong set.

Cú pháp

set.pop()

Tham số

Không có

Giá trị trả về

Any? — Giá trị đã bị xóa.

Hành vi / tác động

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.

API liên quan

set.update_method

Thêm giá trị từ một hoặc nhiều iterable vào set.

Cú pháp

set.update(*iterables)

Tham số

TênMô tả
iterablesIterable
Các nguồn cần thêm.
Tùy chọn · Số lượng đối số linh hoạt
Không có giá trị mặc định

Giá trị trả về

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.

API liên quan

set.union_method

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ênMô 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.

API liên quan

set.intersection_method

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ênMô 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.

API liên quan

set.difference_method

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ênMô 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.

API liên quan

set.copy_method

Sao chép set thành một set mới có thể cập nhật.

Cú pháp

set.copy()

Tham số

Không có

Giá trị trả về

set — Một set mới có cùng các giá trị.

Hành vi / tác động

Sao chép set thành một set mới có thể cập nhật.

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}
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.

API liên quan

set.clear_method

Xóa toàn bộ giá trị trong set.

Cú pháp

set.clear()

Tham số

Không có

Giá trị trả về

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.

API liên quan

set.for_loop

Lặp qua các giá trị theo thứ tự thêm vào ổn định.

Cú pháp

for value in set:

Tham số

TênMô tả
valueAny?
Giá trị set hiện tại trong vòng lặp.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định
setset
set cần lặp.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định

Giá trị trả về

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.

API liên quan

set.truthy_check

Kiểm tra set có ít nhất một giá trị hay không.

Cú pháp

if set | if not set

Tham số

TênMô tả
setset
set được dùng trong điều kiện.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định

Giá trị trả về

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.

API liên quan