300x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 리눅스
- 브루트포스
- 파이썬
- google coding competition
- OS
- 동적 프로그래밍
- 그래프
- CSS
- 코딩테스트
- dp
- 코딩 테스트
- 코딩
- DFS
- BFS
- nlp
- 딥러닝
- 킥스타트
- kick start
- 프로그래머스
- 알고리즘
- 순열
- 동적프로그래밍
- PYTHON
- AI
- 구글 킥스타트
- linux
- 프로그래밍
- 네트워크
- 백준
- 운영체제
Archives
- Today
- Total
오뚝이개발자
[Python] 파이썬 any(), all() 함수 본문
728x90
300x250
파이썬 내장함수 중 any()와 all()이 있다. 둘은 아큐먼트로 iterable한 객체를 받는데 이 객체를 돌면서 조건을 검사해 답을 True/False의 답을 반환한다.
- any() : 하나라도 True인게 있으면 True
- all() : 모두 True여야 True 반환
쉽게 생각해 any는 or, all은 and 연산이라 보면 된다.
>>> any([False, False, False])
False
>>> any([False, True, False])
True
>>> all([False, True, False])
False
>>> all([True, True, True])
True
if 조건과 함께 다음과 같이 사용할 수도 있다.
cur = 3
temp = [1,3,6,2]
if any(cur<num for num in temp):
print("There exist number that is larger than 3")
그럼 퀴즈! all(range(3))의 결과는 무엇일까?
답은!!!!!! False이다. range(3)=[0,1,2]이기 때문이다. 조금 바꿔서 all(range(1,3))은 True이다.
any()는 특히 대소비교를 할 때 사용하면 sort보다 실행시간을 많이 줄일 수 있다. 예를 들어 어떤 수와 어떤 리스트의 원소들을 비교하는데 해당 수가 리스트 안의 max값보다 큰지만 알고 싶다고 하자. 이 때, sort를 사용한 뒤 비교하면 리스트를 모두 정렬하기 때문에 시간이 걸린다. 하지만 any를 쓰면 리스트 내에 해당 수보다 큰 수가 있기만 하면 바로 True를 return하고 끝내기 때문에 시간이 덜 걸린다.
728x90
300x250
'Language > 파이썬' 카테고리의 다른 글
[Python] 파이썬 문자 아스키 코드 변환 (0) | 2020.11.09 |
---|---|
[Python] 파이썬 heap(heapq 모듈) (0) | 2020.10.29 |
[Python] 파이썬 sorted() 정렬 조건, 다중 조건 (0) | 2020.09.15 |
[Python] 파이썬 리스트 정렬, sort()와 sorted() 차이 (0) | 2020.09.15 |
[Python] 파이썬 구글 이미지 크롤링 (0) | 2020.08.12 |
Comments