set1.issubset(set2) trả về True nếu tất cả phần tử của set1 đều có trong set2. Tức set1 là tập con (subset) của set2.
Cú pháp
set1.issubset(set2) # hoặc set1 <= set2 # Trả về bool
Ví dụ cơ bản
A = {'t','u','t','o','r','i','a','l'} # {'t','u','o','r','i','a','l'}
B = {'t','u','t'} # {'t','u'}
C = {'p','o','i','n','t'}
print(B.issubset(A)) # True
print(B.issubset(C)) # False
# Gộp A và C rồi kiểm tra C có phải subset không
A_combined = set(str(A) + str(C)) # Cách này hơi "hack", chỉ để demo
print(C.issubset(A_combined)) # True
Kết quả
True False True
Chấp nhận iterable khác (không chỉ set)
A = ['t','u','t','o','r','i','a','l'] # list
B = {'t','u','t'} # set
C = ('p','o','i','n','t') # tuple
D = {'p','o','i','n','t'} # set
print(B.issubset(A)) # True (list tự động chuyển set)
print(B.issubset(C)) # False (tuple tự động chuyển set)
print(D.issubset(A)) # False
Lưu ý
- Đối tượng gọi (
B.) phải là set. - Tham số có thể là bất kỳ iterable nào (list, tuple, dict, str...), Python tự chuyển thành set để so sánh.
- Toán tử tương đương:
B <= A(subset),B < A(proper subset - 진짜 subset, khác nhau).
Kết luận
issubset() kiểm tra quan hệ tập con. Chấp nhận iterable linh hoạt, nhưng đối tượng gọi phải là set.