Python:三元表达式、列表推导式和生成器表达式
三元表达式
语法格式
如下:
为真时的结果 if 判断条件 else 为假时的结果
例子
name = input(‘姓名>>: ‘) res = ‘请进‘ if name == ‘张三‘ else ‘再见‘ print(res)
结果如下
姓名>>: 张三 请进 姓名>>: 李四 再见
列表推导式
列表推导式用于使用其他列表创建一个新列表。
语法格式
如下:
# 格式1 [表达式 for 变量 in 列表] # 格式2,对列表进行判断帅选 [表达式 for 变量 in 列表 if 条件]
例1
# 求1-9的平方组成的列表 l = [x**2 for x in range(1, 10)] print(l)
结果如下:
[1, 4, 9, 16, 25, 36, 49, 64, 81]
例2
# 求1-9中偶数的平方组成的列表 l = [x**2 for x in range(1, 10) if x % 2 == 0] print(l)
结果如下:
[4, 16, 36, 64]
生成器表达式
把列表推导式的[]
换成()
就是生成器表达式,返回对象不是一个列表,而是一个生成器。
优点:省内存,一次只产生一个值在内存中。
语法格式
如下:
# 格式1 (表达式 for 变量 in 列表) # 格式2,对列表进行判断筛选 (表达式 for 变量 in 列表 if 条件)
例子
>>> l = (x**2 for x in range(1, 10) if x % 2 == 0) >>> next(l) 4 >>> next(l) 16 >>> next(l) 36 >>> next(l) 64 >>> next(l) Traceback (most recent call last): File "<stdin>", line 1, in <module> StopIteration
相关推荐
YENCSDN 2020-11-17
lsjweiyi 2020-11-17
houmenghu 2020-11-17
Erick 2020-11-17
HeyShHeyou 2020-11-17
以梦为马不负韶华 2020-10-20
lhtzbj 2020-11-17
夜斗不是神 2020-11-17
pythonjw 2020-11-17
dingwun 2020-11-16
lhxxhl 2020-11-16
坚持是一种品质 2020-11-16
染血白衣 2020-11-16
huavhuahua 2020-11-20
meylovezn 2020-11-20
逍遥友 2020-11-20
weiiron 2020-11-16