반응형
목록의 결과가 None
이면 True
를 반환하는 간단한 테스트를 시도하고 있습니다. 그러나 0
및 ''
가 True
를 반환하지 않기를 바랍니다.
list_1 = [0, 1, None, 4]
list_2 = [0, 1, 3, 4]
any(list_1) is None
>>>False
any(list_2) is None
>>>False
보시다시피 any ()
함수는이 컨텍스트에서 유용하지 않습니다.
해결 방법
list
객체의 경우 간단히 멤버십 테스트를 사용할 수 있습니다.
None in list_1
any ()
와 마찬가지로 list
의 멤버십 테스트는 일치하는 항목이 발견되는 즉시 반환하여 단락을 제외하고 모든 요소를 스캔합니다.
any ()
는 None
이 아닌 True
또는 False
를 반환하므로 any (list_1)는 None입니다.
테스트는 확실히 아무데도 가지 않습니다. 대신 반복하려면 any ()
에 대한 생성기 표현식을 전달해야합니다.
any(elem is None for elem in list_1)
참조 페이지 https://stackoverflow.com/questions/28836378
반응형
'파이썬' 카테고리의 다른 글
파이썬 출력에 '없음'으로 인쇄되는 이유는 무엇입니까? (0) | 2020.11.28 |
---|---|
파이썬 Python의 ElementTree를 XML 파일로 예쁜 인쇄하려면 어떻게해야합니까? (0) | 2020.11.28 |
파이썬에서 집합 작업에 대 업데이트 추가 (0) | 2020.11.28 |
파이썬 How to delete the current row in pandas dataframe during df.iterrows() (0) | 2020.11.28 |
파이썬 'module' has no attribute 'urlencode' (0) | 2020.11.28 |
댓글