Khi cần kiểm tra xem một từ có thể được xây dựng từ danh sách ký tự cho trước (mỗi ký tự dùng tối đa số lần xuất hiện), ta dùng toán tử all() và phương thức count().
Ví dụ
my_list = ['p', 'p', 'y', 't', 'h', 'p', 'p', 'y', 'n', 'y', 'y', 't']
print("Danh sách ký tự:")
print(my_list)
key = 'pyt'
print("Từ khóa:")
print(key)
my_result = all(key.count(chr) <= my_list.count(chr) for chr in key)
print("Kết quả:")
if my_result == True:
print("Từ có thể được xây dựng.")
else:
print("Từ không thể được xây dựng.")
Kết quả
Danh sách ký tự: ['p', 'p', 'y', 't', 'h', 'p', 'p', 'y', 'n', 'y', 'y', 't'] Kết quả: Từ có thể được xây dựng.
Giải thích
Định nghĩa danh sách ký tự (có thể trùng lặp) và từ khóa.
Dùng
all(key.count(c) <= my_list.count(c) for c in key): với mỗi ký tự trong key, số lần xuất hiện trong key không vượt quá trong my_list.Nếu all True, từ có thể xây dựng.
In kết quả.