使用理解来计算出现次数
当我们想要计算迭代中的项目数量,满足某些条件时,我们可以使用理解来生成惯用语法:
# Count the numbers in `range(1000)` that are even and contain the digit `9`:
print (sum(
    1 for x in range(1000) 
    if x % 2 == 0 and
    '9' in str(x)
))
# Out: 95
基本概念可归纳为:
- 迭代 
range(1000)中的元素。 - 连接所有需要的 
if条件。 - 使用 1 作为表达式为每个符合条件的项目返回 1。
 - 总结所有 
1s 以确定满足条件的项目数量。 
注意 :这里我们不是在列表中收集 1s(注意没有方括号),但是我们将这些直接传递给 sum 函数,它将它们相加。这称为生成器表达式,类似于理解。