1.列表推导式书写形式:
[表达式 for 变量 in 列表]
[表达式 for 变量 in 列表 if 条件]
2.元祖推导式书写形式:
(表达式 for 变量 in 列表)
(表达式 for 变量 in 列表 if 条件)
不同之处:生成的不是元祖,是生成器对象,使用 tuple() 函数,可以直接将生成器对象转换成元组。
a = (x for x in range(1,10))
print(a)
运行结果为:
<generator object <genexpr> at 0x0000020BAD136620>
转化成元祖:
a = (x for x in range(1,10))
print(tuple(a))
运行结果为:
(1, 2, 3, 4, 5, 6, 7, 8, 9)
3.字典推导式书写形式:
{表达式 for 变量 in 列表}
{表达式 for 变量 in 列表 if 条件}
4.集合推导式书写形式:
(表达式 for 变量 in 列表)
(表达式 for 变量 in 列表 if 条件)
与字典推导式一样,如何区别:看print结果
setnew = {i**2 for i in range(3)}
print(setnew)