파이썬

파이썬 any, all 사용하기(배열데이터 안에 값이 하나라도 있는지 또는 모두 있는지 비교)

by nanumi posted Sep 11, 2021
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

파이썬 any, all 사용하기

(배열데이터 안에 값이 하나라도 있는지 또는 모두 있는지 비교)

 

 

  • 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

 

 

cur = 3 temp = [1,3,6,2] if any(cur<num for num in temp): print("There exist number that is larger than 3")

 

 

 

if any(input == i for i in mylist1):
if all(input == i for i in mylist2):

저 any와 all 벗겨도 되는거 아니야? 하겠지만 벗기면 에러가 난다.

 

mylist1 = [1, 2, 3, 4, 5]
input1 = 1
if any(input1 == i for i in mylist1):
    print("리스트에 1이 존재함")

# 출력 : 리스트에 1이 존재함

input2 = 6
if any(input2 == i for i in mylist1):
    print("리스트에 6이 존재함")
else:
    print("리스트에 6이 존재하지 않음")
    
# 출력 : 리스트에 6이 존재하지 않음


mylist2 = [1, 1, 1, 1, 1]
input = 1
if all(input == i for i in mylist2):
    print("모든 리스트의 원소는 1임")
else:
    print("1이 아닌 원소가 존재")
    
# 출력 : 모든 리스트의 원소는 1임

mylist2 = [1, 1, 1, 1, 5]
input = 1
if all(input == i for i in mylist2):
    print("모든 리스트의 원소는 1임")
else:
    print("1이 아닌 원소가 존재")
    
# 출력 : 1이 아닌 원소가 존재