問題:列表推導式是什麼?它的優點是什麼?
且看栗子:計算出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]