列表生成式

要求:生成一个 [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] 列表。

y = []
for x in range(1, 11):
  y.append(x * x)

这是一种写法,但是较为繁琐。而 列表生成式 是 Python 中用来快速生成想要的列表的一种简便方式。同样的功能,使用列表生成式只需要一行代码:

[x*x for x in range(1,11)]

写 列表生成式 时,把要生成的元素 x * x(这个表达式可以自定义)放到前面,后面加一个 for 循环,就可以快速生成我们期望的列表,十分简便。

我们甚至还可以在 for ... in … 后加上条件判断:

# 筛选出奇数的平方
y = [x * x for x in range(1, 11) if x % 2 == 1]
print(y)
# 输出:[1, 9, 25, 49, 81]

One more example:
Select all the numbers which is less than 60.

scores = [91, 4, 20, 67, 24, 13, 84, 40, 77, 47]

print([i for i in scores if i <60])

原文地址:https://www.cnblogs.com/mingzhuqi/p/13239017.html