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”. 

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à TRUETrueTrue
Nếu tất cả các giá trị đều là FALSEFalseFalse
Tồn tại một giá trị TRUE (tất cả các giá trị còn lại đều là False)TrueFalse
Tồn tại một giá trị False (tất cả các giá trị còn lại đều là True)TrueFalse
Danh sách các giá trị boolean truyền vào hàm là trốngFalseTrue

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!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!