如果我有这样的东西:
D = {'a': 97, 'c': 0 , 'b':0,'e': 94, 'r': 97 , 'g':0}
例如,如果我想计算“0”的出现次数作为一个值而不必迭代整个列表,这是否可能以及如何实现?
原文由 RowanX 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果我有这样的东西:
D = {'a': 97, 'c': 0 , 'b':0,'e': 94, 'r': 97 , 'g':0}
例如,如果我想计算“0”的出现次数作为一个值而不必迭代整个列表,这是否可能以及如何实现?
原文由 RowanX 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
如 本答案 中所述,使用
operator.countOf()
是可行的方法,但您也可以在sum()
函数中使用生成器,如下所示:或者作为一种稍微更优化和更实用的方法,您可以使用
map
函数,方法是将整数的__eq__
方法作为构造函数传递。基准:
请注意,虽然在这种情况下使用
map
函数可能更优化,但为了对这两种方法有更全面和一般的了解,您还应该为相对较大的数据集运行基准测试。然后,您可以根据您拥有的数据结构和数量使用最合适的方法。