1.解决方案
1.filter函数
filter(lambda x:x>0,data)
2.列表解析
[x for x in data if x>0]
1.字典解析
{k:v for k,v in d.items() if v>0}
1.集合解析
{x for x in s if x%3==0}
2.实例
'''
随机生成-10,10之间的5个数,列表中筛选出>0的
'''
from random import randint
data=[randint(-10, 10) for i in range(10)]
data2=[x for x in data if x>0]
print(data2)------------------------------------------列表解析
from random import randint
data=[randint(-10, 10) for i in range(10)]
data2=list(filter(lambda x:x>0,data))
print(data2)------------------------------------------过滤函数(过滤函数比列表解析执行时间长)
'''
班级人数20个人(学号为1,20),分数随机生成(60,100) 过滤出>80的
'''
from random import randint
d={x:randint(60,100) for x in range(1,21)}
d2={k:v for k,v in d.items() if v>80 }
'''
筛选出集合中能被3整除的
'''
from random import randint
d={randint(-10, 10) for i in range(10)}
d2={x for x in s if x%3==0}