之前学到一个三元运算符,太久没用就给忘了怎么用了。
这段时间又学了一个列表生成器,结果大脑一抽风,把二者混为一谈了,今天来简单介绍一下二者之间的区别。
三元运算符(三目运算符)
三元运算符就是将条件判断语句和满足条件之后执行的语句浓缩到一行表达,在实际运行过程中,内存占用会比普通表达方式更高。
a = 2
[print(True) if a == 1 else print(False)] # 三元运算符
打印结果:False
列表生成器
原理同上,不过是循环而不是判断。
b = []
[b.append(i) for i in range(10)] # 列表生成器
打印结果:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
嵌套
c = []
d = []
[c.append("你是帅b") if a == 1 else d.append(i) for i in range(11, 21)] # 二者嵌套
print(c, d)
打印结果:[] [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
用起来很方便,看起来也更简洁。