如何从列表中删除[NaN]?

use*_*069 4 python list python-2.7

我有以下

a = [[u'63764'], [u'63764'], [u'63764'], [u'70272'], [u'98362'], [u'NaN'], [u'NaN']]
Run Code Online (Sandbox Code Playgroud)

如何删除所有这些[NaN]以获取:

a = [[u'63764'], [u'63764'], [u'63764'], [u'70272'], [u'98362']]
Run Code Online (Sandbox Code Playgroud)

谢谢

fal*_*tru 5

使用math.isnan检查该号码是否是NaN

>>> NaN = float('nan')
>>> import math
>>> math.isnan(1)
False
>>> math.isnan(NaN)
True
Run Code Online (Sandbox Code Playgroud)

具有列表理解

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

根据问题进行更新编辑:

>>> 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']]
Run Code Online (Sandbox Code Playgroud)