Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Phương thức issubset() trong Python


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.