zoukankan      html  css  js  c++  java
  • Py小技巧一:在列表,字典,集合中根据条件筛选数据

    1.过滤掉列表中的某些项---列表解析
    data=[1,4,2,8,5,-1]
    res=[]
    a.依次迭代列表中每一个项
    for x in data:
     if >=0:
           res.append(x)
    print res
    b.使用lambda表达式来进行过滤
    form random import randint
    data = [randint(-10,10)for _ in xrange(10)]
    filter(lambda x: x>=0,data)
    c.使用列表解析俩进行过滤
    [x for x in data if x>=0]
    对两种情况进行性能的比较:
    timeit filter(lambda x: x>0,data)->909ns
    timeit [x for x in data if x>=0]->455ns
    由上可以看出列表解析的速度更快,首选列表解析,但是上述两种方法都远快于迭代的方法
    2.筛选出指点中的某些元素----字典解析
    d = {x:randint(60,100) for x in range(1,21)}
    #筛选出字典中大于90的值
    {k: v for k,v in d.iteritems() if v>90}  #使用字典解析
    3.筛选集合中符合某些条件的元素---集合解析
    {x for x in s if x% 3==0}
    善守者藏于九地之下, 善攻者动于九天之上
  • 相关阅读:
    spider-抓取页面内容
    Zabbix监控
    时间戳转换
    计算机脱域
    查询指定时间内审核失败的事件日志
    spider-抓取网页内容(Beautiful soup)
    Queue
    spider-抓取网页内容
    MyEclipse+Tomcat配置
    Gradle Java Web应用程序并在Tomcat上运行
  • 原文地址:https://www.cnblogs.com/jiutiankunpeng/p/6838139.html
Copyright © 2011-2022 走看看