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}

原文地址:https://www.cnblogs.com/daacheng/p/7900749.html