Hàm all một hàm trong các Built-in Functions của ngôn ngữ lập trình Python được sử dụng để kiểm tra xem tất cả các phần tử trong một iterable có đều đúng (True) không. Nếu tất cả đều đúng, thì hàm trả về True, ngược lại, nó trả về False.
Trong Python, một iterable là một kiểu dữ liệu dạng tập hợp mà bạn có thể duyệt qua từng phần tử một. Nó có thể là bất kỳ đối tượng nào mà bạn có thể lặp lại (iterate) qua từng thành phần của nó. Điều này có nghĩa là bạn có thể sử dụng một vòng lặp để truy cập từng phần tử trong iterable.
Các đối tượng phổ biến trong Python được coi là iterable bao gồm các kiểu dữ liệu như danh sách (list), tuple, chuỗi (string), set, từ điển (dictionary)… Cụ thể, để một đối tượng được coi là iterable, nó cần triển khai phương thức __iter__() hoặc __getitem__(). Phương thức này sẽ trả về một iterator, một đối tượng mà Python sử dụng để lặp qua các phần tử của iterable.
1. Cú pháp của hàm all
Cú pháp:
all(iterable)
Tham số:
iterable
: Đây là một iterable (ví dụ: danh sách, tuple, set, hoặc bất kỳ đối tượng nào có thể duyệt được) chứa các giá trị cần kiểm tra.
Kiểu trả về:
- Hàm
all()
sẽ trả về True nếu tất cả các phần tử trongiterable
là True hoặc đối tượng đó rỗng. Nếu có ít nhất một phần tử là False hoặc đối tượng rỗng, thì hàmall()
sẽ trả về False.
Phiên bản:
- Hàm hỗ trợ từ phiên bản Python: 2.5 trở lên.
2. Một số ví dụ hàm all
Dưới đây là mốt số ví dụ minh họa với các tình huống và kiểu dữ liệu khác nhau để bao quát các đặc điểm của hàm all()
trong Python:
2.1. Kiểm tra các số nguyên dương trong danh sách
numbers = [10, -5, 8, 3, -1]
result = all(num > 0 for num in numbers)
print(result) # False vì có số âm trong danh sách
numbers = [10, 1, 8, 3, 4]
result = all(num > 0 for num in numbers)
print(result) # True vì không có số âm trong danh sách
2.2. Kiểm tra các giá trị boolean trong danh sách
booleans = [True, False, True, True]
result = all(val for val in booleans)
print(result) # False vì có giá trị False trong danh sách
2.3. Kiểm tra các phần tử không rỗng trong danh sách chuỗi
strings = ["hello", "", "world", " "]
result = all(val for val in strings if val.strip()) # Loại bỏ chuỗi rỗng
print(result) # True vì tất cả đều không rỗng
2.4. Kiểm tra các phần tử có chữ hoa trong tuple
items = ("Alice", "Bob", "Charlie", "Dave")
result = all(val.isupper() for val in items)
print(result) # False vì có phần tử không chữ hoa
2.5. Kiểm tra các giá trị None trong danh sách
values = [10, None, "hello", None]
result = all(val is not None for val in values)
print(result) # False vì có giá trị None trong danh sách
2.6. Kiểm tra các phần tử chia hết cho 2 trong tuple
numbers = (4, 6, 10, 7, 12)
result = all(num % 2 == 0 for num in numbers)
print(result) # False vì có phần tử không chia hết cho 2
2.7. Kiểm tra các phần tử đúng (True) trong danh sách
boolean_values = [True, True, True]
result = all(val for val in boolean_values)
print(result) # True vì tất cả đều đúng
2.8. Dùng hàm all kiểm tra các phần tử không âm trong tuple
numbers = (3, -5, 10, 8, 0)
result = all(num >= 0 for num in numbers)
print(result) # False vì có phần tử âm trong tuple
Mỗi ví dụ sử dụng hàm all()
để kiểm tra một điều kiện cụ thể đối với các phần tử trong iterable và in kết quả ra màn hình. Chi tiết mỗi dòng lệnh được giải thích trong comment kèm theo.