เมื่อต้องการทดสอบว่าสามารถสร้างคำ (word) จากลิสต์ตัวอักษรที่มีอยู่ได้หรือไม่ (พิจารณาจำนวนตัวอักษร) สามารถใช้ all() และ count() ได้
ตัวอย่าง
my_list = ['p', 'p', 'y', 't', 'h', 'p', 'p', 'y', 'n', 'y', 'y', 't']
print("The list is :")
print(my_list)
key = 'pyt'
print("The key is :")
print(key)
my_result = all(key.count(chr) <= my_list.count(chr) for chr in key)
print("The result is :")
if my_result == True:
print("Word can be constructed. ")
else:
print("Word can't be constructed. ")
ผลลัพธ์
The list is : ['p', 'p', 'y', 't', 'h', 'p', 'p', 'y', 'n', 'y', 'y', 't'] The result is : Word can be constructed.
คำอธิบาย
กำหนดลิสต์ตัวอักษรที่มีอยู่ (พร้อมตัวซ้ำ) และคำที่ต้องการสร้าง (key)
ใช้
all(key.count(chr) <= my_list.count(chr) for chr in key)สำหรับแต่ละตัวอักษรใน key ตรวจสอบว่าจำนวนใน key ≤ จำนวนใน my_list
p: key=1, list=4 ✓, y: key=1, list=3 ✓, t: key=1, list=2 ✓ -> ทั้งหมดผ่าน
แสดงข้อความว่าสร้างคำได้