列表
1)遍历列表中每一项元素,对每一项元素进行判断,筛选符合的数据加入到新列表中
data = [1,5,-3,-2,6,0,9]
res = []
for x in data:
if x >= 0:
res.append(x)
print(res)
2)列表推导式
[x for x in data if x >= 0]
3)利用filter函数进行过滤,导入随机函数模块随机生成一组列表,filter参数传入匿名函数条件和所要筛选的序列
from random import randint
data = [randint(-10, 10) for _ in xrange(10) ]
print(filter(lambda x: x >= 0,data))
字典
字典推导式
同样利用随机函数模块生成一组数据,推导式创建字典,循环键值对形式根据条件对值进行判断
from random import randint
d = {x: randint(60,100) for x in range(1,21)}
print({k:v for k,v in d.items() if v > 90})
集合
集合推导式
像字典推导式一样在大括号{}里写循环判断条件,跟列表里一样只需填一个值
data = [1,5,-3,-2,6,0,9]
s = set(data)
print({x for x in s if x %3 == 0})