python学习--如何在列表、字典、集合中根据条件筛选数据
学习前查看python官方文档3.6版本,了解以下知识。
1、range(start,stop,step)函数。start默认为0,step表示每隔几步取一个数。
list[range(5)]=[0,1,2,3,4]
生成范围内的整数。list[range(1,5)]=[1,2,3,4]
list[range(1,5,2)]=[1,3]
2、randint(a,b)生成一个随机整数在a b之间(包括a b)。 a=randint(3,6) a=3|4|5|6
3、生成一个长度为10的列表,其中列表中每个元素的范围在-10,和10之间
data=[randint(-10,10) for x in range(10)]
一、筛选列表中的数据
1、过滤函数filter(函数,列表) filter(lambda x:x>=0,data)
2、列表解析 [x for x in data if x>=0] 这种方式效率更高,时间短。
二、筛选字典中的数据
生成一个随机字典 dict={x:randint(70,100) for x in range(1,11)} key(1-10),value为70到100之间的随机数。
{1: 82, 2: 87, 3: 96, 4: 74, 5: 73, 6: 93, 7: 73, 8: 84, 9: 77, 10: 100}
{k:v for k,v in dict.items() if v>=90} (python3中用items方法,python2用iteritems方法)
三、筛选集合中的数据
生成一个set s={x for x in range(10)}
筛选 {x for x in s if x>6}