python 목록의 모든 요소가 False인지 테스트
반품 방법False
모든 요소가 목록에 있는 경우False
?
지정된 목록은 다음과 같습니다.
data = [False, False, False]
사용:
>>> data = [False, False, False]
>>> not any(data)
True
any
반복 가능한 항목에 진실 값이 있으면 True를 반환합니다.
기본적으로 반복 가능한 값을 처리하고 시퀀스의 부울 값 요소가 평가하는 값에 따라 True 또는 False를 반환하는 두 가지 함수가 있습니다.
all(iterable)
의 모든 요소가 True를 반환합니다.iterable
참 값으로 간주됩니다(예:reduce(operator.and_, iterable)
).any(iterable)
적어도 하나의 요소가 True일 경우 True를 반환합니다.iterable
는 참 값입니다(다시 말하지만, 기능적인 것을 사용하면,reduce(operator.or_, iterable)
).
사용all
함수, 매핑할 수 있습니다.operator.not_
목록 위에 열거나 음수 값으로 새 시퀀스를 만들고 새 시퀀스의 모든 요소가 참인지 확인합니다.
>>> all(not element for element in data)
와 함께any
함수, 하나 이상의 요소가 참인지 확인한 다음 반환해야 하므로 결과를 부정할 수 있습니다.False
진정한 요소가 있다면,
>>> not any(data)
De Morgan의 법칙에 따르면, 이 두 변형은 동일한 결과를 반환하지만, 저는 마지막 변형을 선호합니다.any
더 짧고, 더 읽기 쉽고(그리고 직관적으로 "데이터에 진정한 가치가 없다"고 이해할 수 있음), 더 효율적이기 때문입니다(추가 시퀀스를 만들지 않기 때문입니다).
True
그리고.False
0과 1의 부울 표현입니다.
True
1 그리고False
= 0
data = [False, False, False]
if sum(data) == 0:
return False
if sum(data) == len(data):
return True
sum(data)
의 추가를 나타냅니다.1
그리고.0
목록에서 True(1) 및 False(0) 값을 각각 사용합니다.
모든 경우에False
합은 0입니다.
그리고 모든 True'의 합이 목록의 길이와 같을 경우.
다른 합 값은 모두 거짓 또는 참이 아님을 의미합니다.
우리 모두는 알고 있습니다.False
또한 고려됩니다.0
그래서 만약에sum
하필이면0
즉, 목록 내의 모든 요소는False
.
하지만 당신이 원하기 때문에:
모든 요소가 '거짓'이므로 '거짓'을 반환합니다.
이 작업을 수행하려면 음수 연산자를 사용합니다.not
또는!
.
data = [False, False, False]
print(sum(data)!=0) #False
제너레이터 식을 사용하는 다른 접근 방식은 다음과 같습니다.
data = [False, False, False]
try:
out = next(elt for elt in data if elt) # holds the value of first non-empty element
except StopIteration:
print("all elements are empty")
data = [[], [], [1], [2]]
try:
out = next(elt for elt in data if elt) # [1]
except StopIteration:
print("all elements are empty")
언급URL : https://stackoverflow.com/questions/31099561/test-if-all-elements-of-a-python-list-are-false
'programing' 카테고리의 다른 글
Spring Boot (0) | 2023.07.26 |
---|---|
PHP를 사용하여 URL에서 후행 슬래시를 제거하는 가장 좋은 방법 (0) | 2023.07.26 |
SQLChemy와 함께 Oracle 서비스 이름 사용 (0) | 2023.07.21 |
HttpServletRequest에서 WebRequest로 캐스팅 (0) | 2023.07.21 |
저장 프로시저에서 "반품"을 사용할 수 있습니까? (0) | 2023.07.21 |