2014-02-14 3 views
2

나는 내가 얻을 모든 [NaN]의 삭제하려면 어떻게목록에서 [NaN]을 삭제하는 방법?

a = [[u'63764'], [u'63764'], [u'63764'], [u'70272'], [u'98362'], [u'NaN'], [u'NaN']] 

을 다음 있습니다 :

a = [[u'63764'], [u'63764'], [u'63764'], [u'70272'], [u'98362']] 

당신에게

감사
+0

왜 1 요소 목록의 목록을해야합니까? – user2357112

답변

4

사용 math.isnanNaN 여부를 확인하기 :

>>> NaN = float('nan') 
>>> import math 
>>> math.isnan(1) 
False 
>>> math.isnan(NaN) 
True 

list comprehension로 :

>>> [xs for xs in a if not any(math.isnan(x) for x in xs)] 
[[1], [1], [2], [2], [2], [3], [3]] 

UPDATE

질문 편집에있어서

>>> a = [[u'63764'], [u'63764'], [u'63764'], [u'70272'], [u'98362'], [u'NaN'], [u'NaN']] 
>>> [x for x in a if x != [u'NaN']] 
[[u'63764'], [u'63764'], [u'63764'], [u'70272'], [u'98362']] 
+0

나에게이 오류가 발생합니다 - TypeError : 부동 소수점이 필요합니다 질문을 업데이트했습니다. pls 그것을 다시 볼 수 있니? – user3309069

+0

@ user3309069, 질문 편집에 따라 답변을 업데이트했습니다. – falsetru

관련 문제