如何查找数组或字典中的匹配数?例如,如果字典或数组的数字4出现5次,我怎么能找到它呢?
答案 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
。