我有一个包含False,None和True的列表。这些值来自于删除字典列表。我能够相应地擦除值,并希望过滤掉所有None值。但是,过滤器仅返回True。有人可以解释为什么吗?而我如何才能获得False和True?谢谢!
lst = [False, None, True]
list(filter(None, lst))
输出
[True]
样本数据
dict_lst = [{'correct':False, 'number': 20, 'title': 'The King'}, {'correct': True, 'number': 10, 'title': 'The Queen'}, {'number':5, 'title':'The Prince'}]
我写的通过字典抓取的功能如下-
def extract_info(row, keys_lst):
'''extract value for dictionary found in event_data'''
dict_entry = json.loads(row)
result = [dict_entry.get(key, None) for key in keys_lst]
extract_val = list(filter(None, result))
if len(extract_val) == 1:
return extract_val[0]
else:
return extract_val[0]