第一部分主要是为了好玩 - 我可能不会在我的代码中使用它。
sum(d.values())
将得到的数量
True值。(当然,你可以得到的数量
False值的
len(d) - sum(d.values()))。
稍微一般,你可以这样做:
sum(1 for x in d.values() if some_condition(x))
在这种情况下,
if x可以代替
if some_condition(x)大多数人在现实世界中的代码中使用的东西就可以了)
在我发布的三种解决方案中,以上是最惯用的,也是我建议的一种
最后,我想这可能是更巧妙地写了一个小:
sum( x == chosen_value for x in d.values() )
这是同样作为我的第(有趣)的解决方案,因为它依赖于事实
True + True ==2。聪明的并不总是更好。我想大多数人都会认为这个版本是一个小比上面的(因此更差)的一个比较模糊的。



