How to delete [NaN] from a list of lists?
list, python, python-2.7
Solution
Use `math.isnan` to check whether the number is `NaN`:
>>> NaN = float('nan')
>>> import math
>>> math.isnan(1)
False
>>> math.isnan(NaN)
True
with 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 according to the question edit:
>>> 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']]
Problem
I have the following ``` a = [[u'63764'], [u'63764'], [u'63764'], [u'70272'], [u'98362'], [u'NaN'], [u'NaN']] ``` How do I delete all those `[NaN]`s to get: ``` a = [[u'63764'], [u'63764'], [u'63764'], [u'70272'], [u'98362']] ``` Thank You