python学习之列表推导式
问题:列表推导式是什么?它的优点是什么?
且看栗子:计算出1~9间的整数的平方’
常规方法1
# normal method 1:
>>>def sqrt(x):
for i in range(1,x+1):
print(i*i)
sqrt(7)
1
4
9
16
25
36
49
常规方法2
# normal method 2:
>>> a = []
>>> for i in range(1, 8):
a.append(i*i)
>>> a
Out[112]: [1, 4, 9, 16, 25, 36, 49]
列表推导式
# 列表推导式
[x*x for x in range(1,8)] # 这里不仅可以用for,也可以用if,while等循环或者判断语句
Out[115]: [1, 4, 9, 16, 25, 36, 49]