Python มอบฟังก์ชัน built-in สองตัวสำหรับการดำเนินการตรรกะ "OR" และ "AND" คือ any() และ all()
ฟังก์ชัน any()
any() คืนค่า True หากมี อย่างน้อยหนึ่งรายการ ใน iterable เป็น True มิฉะนั้นคืน False หาก iterable ว่างเปล่า จะคืน False
ไวยากรณ์
any(iterable)
iterable สามารถเป็น list, tuple, set, dictionary ได้
ตัวอย่าง
# List
>>> mylst = [False, True, False]
>>> any(mylst)
True
# Tuple
>>> mytuple = (0, 1, 0, False)
>>> any(mytuple)
True
# Set
>>> myset = {0, 1, 0}
>>> any(myset)
True
# Dictionary (ตรวจสอบ key)
>>> mydict = {0: "Apple", 1: "Banana"}
>>> any(mydict)
True
ตารางสรุปค่าที่คืนของ any()
| เงื่อนไข | ค่าที่คืน |
|---|---|
| ทุกค่าเป็น True | True |
| มีอย่างน้อยหนึ่งค่าเป็น True | True |
| ทุกค่าเป็น False | False |
| Iterable ว่างเปล่า | False |
ฟังก์ชัน all()
all() คืนค่า True หาก ทุกรายการ ใน iterable เป็น True มิฉะนั้นคืน False หาก iterable ว่างเปล่า จะคืน True (นี่คือความแตกต่างสำคัญจาก any())
ไวยากรณ์
all(iterable)
ตัวอย่าง
# List
>>> mylst = [True, True, False]
>>> all(mylst)
False
# Tuple
>>> mytuple = (0, True, False)
>>> all(mytuple)
False
# Set
>>> myset = {True, 1, 1}
>>> all(myset)
True
# Dictionary (ตรวจสอบ key)
>>> mydict = {0: "Apple", 1: "Banana"}
>>> all(mydict)
False # เพราะ key 0 เป็น False
ตารางสรุปค่าที่คืนของ all()
| เงื่อนไข | ค่าที่คืน |
|---|---|
| ทุกค่าเป็น True | True |
| มีอย่างน้อยหนึ่งค่าเป็น True | False (ถ้ามี False อยู่ด้วย) |
| ทุกค่าเป็น False | False |
| Iterable ว่างเปล่า | True |
จุดสำคัญที่ต้องจำ
- any() = "OR" logic → True ถ้ามี True อย่างน้อย 1 ตัว
- all() = "AND" logic → True ก็ต่อเมื่อทุกตัวเป็น True
- ทั้งสองฟังก์ชันทำงานกับ truthiness ของค่า (0, False, None, "", [], {} เป็น False)
- Dictionary จะตรวจสอบ key ไใช่ value