Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách Sử Dụng Python any() Và all(): Hướng Dẫn Bước Đi Bước

Hàm any() và all() Python đánh giá các mục trong danh sách để xem mục nào là True. any() trả về True nếu ít nhất một mục là True. all() trả về True chỉ khi tất cả mục đều True.


Thường khi lập trình, bạn muốn kiểm tra xem bất kỳ hoặc tất cả giá trị trong danh sách có đánh giá là True hay không. Ví dụ: chương trình theo dõi lịch sử đua xe, muốn biết tay đua có thua bất kỳ hoặc tất cả cuộc đua trong mùa giải không.

Đó là lúc hàm built-in any() và all() phát huy tác dụng. any() lặp qua mọi mục trong đối tượng, trả về True nếu có ít nhất một mục bằng True. all() lặp qua mọi mục, trả về True chỉ khi mọi mục đều bằng True.

Hướng dẫn này thảo luận cách dùng any() và all() trong Python, kèm ví dụ cho từng hàm.

Python any()

Hàm any() kiểm tra xem có giá trị nào trong iterable (list, string, tuple) bằng True không. Trả về True nếu có, ngược lại False.

Chấp nhận 1 tham số: đối tượng chứa giá trị cần kiểm tra. Cú pháp:

any(iterable_object)

any() trả về True nếu ít nhất một mục trong iterable là True. Trả về False nếu tất cả đều không True, hoặc iterable rỗng.

any() Với Mảng (List)

Giả sử công ty data science phân tích điểm đua xe. Nhiệm vụ: kiểm tra John Appleseed có bao giờ rank top 10 Indianapolis 500 không. Có list lưu True/False cho mỗi lần tham gia.

race_wins_indy_500 = [False, False, True, False]
print(any(race_wins_indy_500))

Kết quả: True.

List lưu kết quả từng lần đua. any() kiểm tra có mục True nào không. Anh ấy từng top 10 một lần → any() trả True.

any() Với Dictionary

Dùng any() trên dictionary. Ví dụ: bản ghi John Appleseed tại Indy 500 năm 2018, kiểm tra có top 10 không:

indy_500_2018_john = {
  'driver_name': 'John Appleseed',
  'race_year': 2018,
  'top_ten': True
}
print(any(indy_500_2018_john))

Kết quả: True. Vì dictionary chứa giá trị True.

any() Với String

Tương tự dùng cho string/tuple. Với string: any() trả True nếu string có nội dung (không rỗng), ngược lại False.

Kiểm tra string lưu top 10 ranking cuộc đua gần nhất có giá trị không:

top_10_ranking = ""
print(any(top_10_ranking))

Kết quả: False. Vì John không thắng, biến top_10_ranking rỗng → False.

Python all()

all() là built-in function trả về True khi tất cả mục trong iterable là True, ngược lại False. Đặc biệt: nếu iterable rỗng, all() trả về True.

Cú pháp giống any():

all(iterable_object)

all() trả về True khi:

  • Tất cả giá trị bằng True
  • Iterable rỗng

Ngược lại trả về False.

all() Với Mảng

Ví dụ: list Boolean lưu John có rank top 10 các cuộc đua Indy 500 không. Kiểm tra có tất cả đều top 10 không:

race_wins_indy_500 = [False, False, True, False]
print(all(race_wins_indy_500))

Kết quả: False. Chỉ 1 mục True → all() trả False.

all() Với Dictionary

Dictionary lưu bản ghi John năm 2018. Kiểm tra mọi giá trị trong dict có đánh giá True không:

indy_500_2018_john = {
  'driver_name': 'John Appleseed',
  'race_year': 2018,
  'top_ten': True
}
print(all(indy_500_2018_john))

Kết quả: True. Vì mọi giá trị trong dict đều True (không có giá trị rỗng/False).

all() Với String

Dùng all() trên string cùng cú pháp any(). all() trả False nếu string rỗng (trái ngược với any()? Không, any("") cũng False. Nhưng all("") trả True vì iterable rỗng).

Ví dụ: string lưu tên tay đua, kiểm tra có rỗng không:

racer_name = "John Appleseed"
print(all(racer_name))

Kết quả: True. String có nội dung → True.

Kết Luận

any() kiểm tra có bất kỳ mục nào trong iterable đánh giá True. all() kiểm tra tất cả mục đều đánh giá True.

Hướng dẫn này thảo luận cách dùng cả any() và all() trong Python, khám phá ví dụ với các kiểu iterable khác nhau. Bây giờ bạn đã có kiến thức để dùng any() và all() trong Python như chuyên gia!

Muốn trở thành lập trình viên Python chuyên nghiệp? Tải ứng dụng Career Karma miễn phí hôm nay và nói chuyện với chuyên gia tư vấn về cách bắt đầu hành trình nghề nghiệp mới.