기본 패턴
python
scores = [90, 80, 100]
has_low_score = any(score < 60 for score in scores)
all_passed = all(score >= 60 for score in scores)설명
any()는 하나라도 참이면True,all()은 모두 참이어야True를 반환합니다.- 이 함수들은 반복문으로 직접 검사하는 로직을 더 짧고 의도적으로 표현하게 해 줍니다.
- generator expression을 함께 쓰면 중간 리스트를 만들지 않고 바로 평가할 수 있습니다.
- 조건 검사, 데이터 검증, 필터 전 확인 같은 작업에 자주 등장합니다.
짧은 예제
python
names = ["mina", "jin", "ara"]
has_short_name = any(len(name) <= 3 for name in names)
all_lowercase = all(name.islower() for name in names)빠른 정리
| 함수 | 의미 |
|---|---|
any(iterable) | 하나라도 참이면 참 |
all(iterable) | 모두 참이어야 참 |
| generator expression | 중간 리스트 없이 순차 평가 |
| 조건 검사 | 간결하고 의도적인 표현 |
공식 참고: Built-in Functions
주의할 점
any()와 all()은 짧고 강력하지만, 조건이 너무 복잡하면 읽기 어려워질 수 있습니다.
한 줄이 복잡해지면 먼저 조건을 함수로 분리하는 편이 더 명확합니다.