在python中支持四种数据结构的推导式:
1.列表(list)推导式
2.字典(dict)推导式
3.集合(set)推导式
4.元组(tuple)推导式
1.列表(list)推导式
列表推导式生成一个列表
第一部分时表达式语句,第二部分是 for循环 ,第三部分 条件(可选)只有满足条件才能将表达式结果放入列表
[表达式 for 变量 in 列表 if 条件]
options = [str(i) for i in range(17) if i > 10]
print(options)
2.字典(dist)推导式
第一部分是关于键和值格式的表达式,第二部分是循环,第三部分是条件
{ key_expr: value_expr for value in collection if 条件 }
d0 = {f"key{i}": i ** 2 for i in range(10) if i % 2 == 0}
print(d0, type(d0))
3.集合(set)推导式
第一个部分是元素,第二部分是循环,第三部分是条件
s0 = {i for i in range(10) if i % 3 == 0}
print(s0, type(s0))
4.元组(tuple)推导式
元组推导式和列表推导式的用法也完全相同,只是元组推导式是用 () 圆括号将各部分括起来,而列表推导式用的是中括号 [ ],元组推导式:得到一个生成器, 可以通过遍历获取生成器内容。
g0 = (i ** 2 for i in range(10) if i % 2)
print(g0, type(g0))
for e in g0:
print(e)