python列表生成式的两种语法

python列表生成式的两种语法
python列表生成式的两种语法

1、语法说明

[expr for iter_var in iterable]
[expr for iter_var in iterable if cond_expr]

第一种语法,首先迭代 iterable 里所有内容,每一次迭代,都把 iterable 里相应内容放到iter_var 中,再在表达式中应用该 iter_var 的内容,最后用表达式的计算值生成一个列表。

第二种语法,加入了判断语句,只有满足条件的内容才把 iterable 里相应内容放到 iter_var 中,再在表达式中应用该 iter_var 的内容,最后用表达式的计算值生成一个列表。

2、实例

print('\n'.join([' '.join ('%dx%d=%2d' % (x,y,x*y)  for x in range(1,y+1)) for y in range(1,10)]))

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注