如果字典列表中有一个 nan 值,我会尝试打印但失败了。
data = [{'A' : 2, 'B' : 'ssss'}, {'A' : 3, 'B' : 'xxx'}, {'A' :nan, 'B' : 'ssss'}]
代码:
for x in data:
if (x['A']== 2):
print('two')
elif (x['A']== np.nan)
print('null')
else:
print('nothing')
最佳答案
您可以使用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
或者遵循代码中的逻辑:
for x in data:
if (x['A']== 2):
print('two')
elif (x['A']!= x['A']):
print('null')
else:
print('nothing')
关于python - 字典列表中的 Nan 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60965207/