如何在数组或字典中查找匹配数?

时间:2016-05-10 01:53:57

标签: python-2.7

如何查找数组或字典中的匹配数?例如,如果字典或数组的数字4出现5次,我怎么能找到它呢?

2 个答案:

答案 0 :(得分:0)

列表:

my_list = [x for x in [1,4,7,4,5,7,1,3]
len([x for x in my_list if x == 4])

对于字典(假设您要计算值):

my_dict = {0: 1, 2: 1, 4: 5, 6: 3, 8: 4, 10: 4, 12: 1}
len([x for x in my_dict.values() if x == 4])

两个代码段计算if之后符合条件的元素数量(在您的情况下,它们等于4)。 len函数需要一个列表(不是生成器),在那里需要额外的[]

答案 1 :(得分:0)

列出元素:

my_list = [1,4,7,4,5,7,1,3]
print my_list.count(4)

使用生成器表达式的字典值:

my_dict = {0: 1, 2: 1, 4: 5, 6: 3, 8: 4, 10: 4, 12: 1}
print sum(1 for x in my_dict.values() if x == 4)

正如zondo所指出的,最后一行可以更简单地写成:

print sum(x == 4 for x in my_dict.values())

由于True == 1

的事实