通用做法:迭代
以列表为例:
筛选出下列数字大于等于0的数
data = [2, 7, -4, -1, 3, 0, 8]
res = []
for i in data:
if i >= 0:
res.append(i)
print(res)
运行结果:
[2, 7, 3, 0, 8]
奇淫巧技——列表筛选
使用filter函数
随机生成一组正负数皆有的数,筛选出大于等于0的数
flilter(function or None, iterable)
from ra
1 平方列表
如果你想创建一个包含1到10的平方的列表,你可以这样做:
squares = []
for x in range(10):
squares.append(x**2)
这是一个简单的例子,但是使用列表生成式可以更简洁地创建这个列表。
squares = [x**2 for x in range(10)]
这个最简单的列表生成式由方括号开始,方括号内部先是一个表达式,其后跟着一个for语句。列表生成式总是返回一个列表。
2 整除3的数字列表
通常,你可能这样写:
列表生成式
列表生成式是python内置的非常简单且强大的可以用来创建list的生成式
如果没有列表生成式,我们得用很多行的循环或者条件代码,但是如果有了列表生成式,就能节省很多码字的时间,增加代码的简洁度。
举个例子,如果我们想实现一个功能,在1到11的数字中,如果这个数是偶数,就输出x,如果是奇数,就输出负x
如果是常规的循环和条件,就是
for x in range(1,11):
if x%2==0:
print x
else:
print