기본 파이썬 목록 이해에서 '또는'연산자 사용

Nov 26 2020

질문 : 파이썬 목록 이해에서 OR을 어떻게 사용할 수 있습니까?

나머지없이 5 또는 7로 나눌 수있는 0-99 사이의 숫자를 출력하려고합니다. 다음 코드가 있습니다.

numbers = [x for x in range(99) if x % 5 == 0 if x % 7 == 0]

그러나 이것은 5와 7로 나눌 수있는 숫자 인 0, 35, 70을 반환합니다.

numbers = [x % 5 == 0 or x % 7 == 0 for x in range(99)]

그러나 이것은 각 숫자에 대해 True 또는 False를 반환하며, 여기서 숫자 자체를 얻으려고합니다. 이것을 사용하여 :

numbers = [x for x in range(99) if x % 5 == 0 or if x % 7 == 0]

구문 오류가 발생합니다.

다음 페이지를 살펴 보았지만 제시된 솔루션을 적용하는 방법을 이해할 수 없었습니다. 그들은 각각 내가 원하는 솔루션에 뉘앙스를 제공하는 것처럼 보였지만 내가 찾고 있던 것이 아닙니다.

datacamp.com/community/tutorials/python-list-comprehension

programiz.com/python-programming/list-comprehension

파이썬 람다 함수에서 사용 또는 연산자 사용

파이썬에서 이해하지 않는 목록 이해력

배열에서 작동하는 파이썬에 바이너리 또는 연산자가 있습니다.

이 내 코드를 목록 이해로 변환하는 방법

python-list-comprehension-with-multiple-ifs

답변

1 WasifHasan Nov 26 2020 at 10:59

다른 것을 사용하지 마십시오 if!

numbers = [x for x in range(99) if (x % 5 == 0) or (x % 7 == 0)]
print(numbers)

왜냐하면 if문이고 그것들은 표현식 이기 때문에 확인하기 or위해 if속기를 사용하고 사용 하십시오.