一、列表筛选数据
1 #coding=utf-8 2 from random importrandint 3 4 #创建随机列表 5 l = [randint(-10, 10) for i in range(10)] 6 print(l) 7 8 #通过列表解析过滤大于0的数据 9 r = [x for x in l if x >=0] 10 print(r) 11 12 13 #通过filter函数过滤大于0的数据 14 r2 = filter(lambda x: x >=0, l) 15 16 #filter在python2中直接返回列表,在python3中返回生成器 17 r2 =list(r2) 18 19 print(r2)
二、字典筛选数据
1 #coding=utf-8 2 3 from random importrandint 4 5 #创建学生分数字典 6 d = {'student%d' % i: randint(50, 100) for i in range(1, 10)} 7 print(d) 8 9 #方法一:字典解析,找出分数大于90的 10 r = {k: v for k, v in d.items() if v >= 90} 11 print(r) 12 13 #方法二:filter方法过滤分数大于90的 14 g = filter(lambda item: item[1] >= 90, d.items()) 15 g =dict(g) 16 print(g)
三、集合筛选数据
1 #coding=utf-8 2 3 from random importrandint 4 5 #创建随机集合 6 s = {randint(0, 20) for i in range(20)} 7 print(s) 8 9 #方法一:集合解析过滤能被3整除的数 10 r = {x for x in s if x % 3 ==0} 11 print(r) 12 13 #方法二:filter方法过滤能被3整除的数 14 r2 = filter(lambda x: x % 3 ==0, s) 15 r2 =set(r2) 16 print(r2)