Giả sử chúng tôi đang kiểm tra xem có bất kỳ số lẻ nào trong số list
hay không. Cách trực tiếp nhất là:Cách kiểm tra xem có bất kỳ số lẻ/số chẵn nào trong Iterable (ví dụ: danh sách/bộ) không?
def has_odd(L):
for v in L:
if v % 2 == 1:
return True
return False
các has_odd
kiểm tra chức năng nếu có bất kỳ số lẻ trong một list
, từng là một số lẻ được tìm thấy, nó sẽ trả True
. Nhưng điều này có vẻ hơi dài dòng. Một cách ngắn gọn hơn bằng reduce
là như sau:
reduce(lambda res, v: res or bool(v), L, False)
Nhưng điều này sẽ lặp qua tất cả các yếu tố và là không cần thiết, bởi vì một khi một số lẻ được tìm thấy kết quả là chắc chắn True
.
Vì vậy, có cách nào khác để thực hiện việc này không?
'bất kỳ (int (chữ số)% 2 cho chữ số trong str (số)) ' –
Rõ ràng nếu' L' là một chuỗi, hình thức đúng là' bất kỳ (số% 2 cho số trong trình tự) '. Tôi bằng cách nào đó hiểu sai một câu hỏi và nghĩ rằng bạn đang kiểm tra chữ số bằng số, cho số trong danh sách. –