Вы можете получить значения словаря, используя dict.values
, в этом случае мы можем просто map
с помощью этого метода и проверить, не равны ли значения any
в возвращенном генераторе самим себе, что означает, что они NaN
:
from itertools import chain
data = [{'A' : 2, 'B' : 'ssss'}, {'A' : 3, 'B' : 'xxx'},
{'A' :float('nan'), 'B' : 'ssss'}]
any(i!=i for i in chain.from_iterable(map(dict.values, data)))
# True
Или следуя логике c в вашем коде:
for x in data:
if (x['A']== 2):
print('two')
elif (x['A']!= x['A']):
print('null')
else:
print('nothing')