# Python支持各种解析(comprehension)操作,比如列表解析、集合解析、元组解析、字典解析。
# 它们根据某些元素来创建(推导)出一个新的列表、集合、元组、字典等。所以有的地方也称为推导,比如列表推导、集合推导等。
# 这里是列表解析,因为使用的中括号[ xxxx ],它表示根据条件推导出一个新的列表。Python中几种内置类型的解析规则为:
# - 如果使用的是中括号,表示列表解析
# - 如果使用的是大括号,表示集合解析
# - 如果使用的是大括号,且里面的元素是key:value模式,表示字典解析
# 注意:如果使用的是括号,表示的是生成器表达式,而不是解析。
# 例如:
# 列表解析
print([i for i in range(2)]) # [0, 1, 2]
print([i * 2 for i in range(4) if i % 2 == 0]) # [0, 4]
# 集合解析
print({i*2 for i in "ab"}) # {'bb', 'aa'}
# 字典解析
print({k:v for k,v in zip(("one", "two"),(1, 2)) }) # {'one': 1, 'two': 2}
print({k: k*2 for k in "ab" }) # {'a': 'aa', 'b': 'bb'}
# 生成器
print((i for i in range(2))) # <generator object <genexpr> at 0x10cd71f20>
12-10
588
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)