Any và All là hai hàm được tích hợp sẵn bên trong Python, có chức năng thực hiện một chuỗi liên tiếp các phép toán logic “AND” và phép toán logic “OR”.
Nội dung chính
1. Hàm Any
Trả về True nếu có bất kỳ phần tử nào là true, ngược lại, nếu chuỗi giá trị boolean truyền vào là trống, hoặc tất cả các giá trị boolean được truyền vào để đánh giá đều là false, thì hàm any() sẽ trả về False. Có thể coi việc gọi hàm any() là tương đương với việc thực hiện một cuỗi các phép logic OR liên tiếp nhau, trên một tập hợp các giá trị boolean được cung cấp.
Hàm any() giúp rút ngắn quá trình thực thi chương trình, điều này là do nó sẽ dừng việc thực thi ngay khi biết được kết quả, mà không cần phải đánh giá hết toàn bộ danh sách giá trị boolean nối tiếp nhau.
Cú pháp: any(danh sách các giá trị boolean cách nhau bởi dấu phẩy)
# Since all are false, false is returned
print (any([False, False, False, False]))
# Here the method will short-circuit at the
# second item (True) and will return True.
print (any([False, True, False, False]))
# Here the method will short-circuit at the
# first (True) and will return True.
print (any([True, False, False, False]))
Kết quả in ra là:
False
True
True
2. Hàm All
Trả về True nếu tất cả các giá trị boolean nằm trong chuỗi giá trị được truyền vào hàm All để đánh giá, đều là true (hoặc nếu danh sách các giá trị boolean được truyền vào là trống, thì hàm All() cũng sẽ trả về True). Có thể coi việc gọi hàm all() là tương đương với việc thực hiện một cuỗi các phép logic AND liên tiếp nhau, trên một tập hợp các giá trị boolean được cung cấp. Hàm All cũng giúp rút ngắn quá trình thực thi chương trình, vì nó sẽ dừng việc thực thi ngay khi biết được kết quả, mà không cần phải đánh giá tiếp các giá trị còn lại trong danh sách các giá trị boolean được truyền vào.
Cú pháp: all(danh sách các giá trị boolean cách nhau bởi dấu phẩy)
# Here all the iterables are True so all
# will return True and the same will be printed
print (all([True, True, True, True]))
# Here the method will short-circuit at the
# first item (False) and will return False.
print (all([False, True, True, False]))
# This statement will return False, as no
# True is found in the iterables
print (all([False, False, False]))
Kết quả in ra là:
True
False
False
3. Một số ví dụ thực tế
Ví dụ 1:
# This code explains how can we
# use 'any' function on list
list1 = []
list2 = []
# Index ranges from 1 to 10 to multiply
for i in range(1,11):
list1.append(4*i)
# Index to access the list2 is from 0 to 9
for i in range(0,10):
list2.append(list1[i]%5==0)
print('See whether at least one number is divisible by 5 in list 1=>')
print(any(list2))
Kết quả in ra là:
See whether at least one number is divisible by 5 in list 1=>
True
Ví dụ 2:
# Đoạn code minh họa cách sử dụng hàm any() trên một list (mảng)
# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Group: https://www.facebook.com/groups/cafedev.vn/
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
#Pinterest: https://www.pinterest.com/cafedevvn/
#YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/
# -----------------------------------------------------------
# Illustration of 'all' function in python 3
# Take two lists
list1=[]
list2=[]
# All numbers in list1 are in form: 4*i-3
for i in range(1,21):
list1.append(4*i-3)
# list2 stores info of odd numbers in list1
for i in range(0,20):
list2.append(list1[i]%2==1)
print('See whether all numbers in list1 are odd =>')
print(all(list2))
Kết quả
See whether at least one number is divisible by 5 in list 1=>
True
Ví dụ 3:
# Đoạn code mô tả cách sử dụng hàm all() trong python3 Khai báo hai mảng
# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Group: https://www.facebook.com/groups/cafedev.vn/
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
#Pinterest: https://www.pinterest.com/cafedevvn/
#YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/
# -----------------------------------------------------------
# Illustration of 'all' function in python 3
# Take two lists
list1=[]
list2=[]
# All numbers in list1 are in form: 4*i-3
for i in range(1,21):
list1.append(4*i-3)
# list2 stores info of odd numbers in list1
for i in range(0,20):
list2.append(list1[i]%2==1)
print('See whether all numbers in list1 are odd =>')
print(all(list2))
Kết quả in ra là:
See whether all numbers in list1 are odd =>
True
4. Bảng chân lý:
Hàm any() | Hàm all() | |
Nếu tất cả các giá trị đều là TRUE | True | True |
Nếu tất cả các giá trị đều là FALSE | False | False |
Tồn tại một giá trị TRUE (tất cả các giá trị còn lại đều là False) | True | False |
Tồn tại một giá trị False (tất cả các giá trị còn lại đều là True) | True | False |
Danh sách các giá trị boolean truyền vào hàm là trống | False | True |
Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:
Chào thân ái và quyết thắng!