DevLog

[Python] any()와 all(), OR과 AND 본문

프로그래밍 언어/Python

[Python] any()와 all(), OR과 AND

김만콩 2023. 10. 16. 16:37

코테 문제 풀면서 다른 사람 풀이 구경하다가 알게 된 파이썬 내장함수
두 함수 모두 iterable한 객체를 받아서 값을 순회하며 아래 내용을 검사한다.

`any()` : 하나라도 True인 값이 있다면 True (= 모든 값이 False이면 False). 즉 OR 연산
`all()` : 하나라도 False인 값이 있다면 False (= 모든 값이 True여야 True). 즉 AND 연산

queue = [2, 3, 4, 1, 7]
x = queue[0]

if any(x < q for q in queue):
  queue.append(x)
else:
  queue.pop(0)

예를 들어보자면 x보다 큰 값이 queue 내에 하나라도 존재한다면 맨 뒤로 보내고, x가 queue의 최댓값이면 빼내면서
값이 큰 순서, 즉 내림차순으로 값을 추출하는 코드를 짤 수 있다.

이런 식의 로직을 반복하면서 우선순위 큐에서 값을 비교하고 출력할 수 있다는 뜻!