본문 바로가기
파이썬

파이썬 목록에서 NoneType 요소를 제거하는 네이티브 Python 함수?

by º기록 2021. 1. 28.
반응형

Python에서 Beautiful Soup을 사용하여 HTML 파일에서 일부 데이터를 긁어냅니다. 경우에 따라 Beautiful Soup은 string NoneType 개체를 모두 포함하는 목록을 반환합니다. 모든 NoneType 개체를 필터링하고 싶습니다.

Python에서 NoneType 객체를 포함하는 목록은 반복 할 수 없으므로 목록 이해는 이에 대한 옵션이 아닙니다. 특히 NoneTypes 를 포함하는 lis 목록이 있고 [x for x in lis (일부 조건 / 함수)] 에서 Python은 TypeError : 'NoneType'유형의 인수가 반복 가능하지 않습니다 오류를 발생시킵니다.


def filterNoneType(lis):
    lis2 = []
    for l in links: #filter out NoneType
        if type(l) == str:
            lis2.append(l)
    return lis2

그러나 존재하는 경우 내장 Python 함수를 사용하고 싶습니다. 가능한 경우 항상 코드를 단순화하고 싶습니다. Python에 목록에서 NoneType 개체를 제거 할 수있는 내장 함수가 있나요?

 

해결 방법

 

이를 수행하는 가장 깨끗한 방법은 다음과 같습니다.

#lis = some list with NoneType's
filter(None, lis)

 

참조 페이지 https://stackoverflow.com/questions/14229433

 

 

반응형

댓글