计算值列表中的字典数量

时间:2018-03-20 16:08:09

标签: python dictionary

如何获得值满足给定条件的词典数量?

list_of_dict = [
                   {'seq_no': 10, 'file_path': 'file/path', 'rel_item': None},
                   {'seq_no': 22, 'file_path': 'file/path', 'rel_item': 0},
                   {'seq_no': 32, 'file_path': 'file/path', 'rel_item': 0},
                   {'seq_no': 90, 'file_path': 'file/path', 'rel_item': 0},
                   {'seq_no': 10, 'file_path': 'file/path', 'rel_item': None},
 ]

我想计算键rel_item=None

的词典数量

4 个答案:

答案 0 :(得分:2)

这是一种方式。

c = sum(i['rel_item'] is None for i in list_of_dict)
# 2

答案 1 :(得分:1)

根据您的条件,您可以filter list_of_dict

>>> len(list(filter(lambda x: x['rel_item'] is None, list_of_dict)))
>>> 2

答案 2 :(得分:0)

这将完成这项工作:

len([x for x in list_of_dict if x["rel_item"] == None])

答案 3 :(得分:0)

您可以使用map然后

sum((map(lambda x : x['rel_item'] is None,list_of_dict)))
Out[721]: 2