美文网首页
如何在列表、字典、集合中根据条件筛选数据

如何在列表、字典、集合中根据条件筛选数据

作者: 以七v为书 | 来源:发表于2018-12-18 11:28 被阅读0次
  1. 通用做法 ----利用循环遍历判断
data = [1,3,5,7,9,11]
res = []
for x in data:
    if x >= 2:
        res.append(x)
print res
  1. 函数式编程/列表解析/字典解析/集合解析
#函数式编程
res = filter(lambda x:x>=2,data)
print res
#列表解析
res = [x for x in data if x>=2]
print res
#字典解析
dic = {'a':23,'b':98,'c':0}
res = {k:v for k,v in dic.iteritems() if v>90}
print res
#集合解析
s = (1,2,3,4,5,6,7,8)
res = {x for x in data if x>=2}
print res
  1. 三个实例
  • 列表解析
from random import randint
#使用列表生成式生成10个元素
data = [randint(-10,10) for _ in xrange(10)]
print data
#filter(func,sequence)
res = filter(lambda x:x>=0,data)
print res
# 列表解析
res = [x for x in data if x>=0]
print res
#Time: filter&列表解析
#>>>代表在ipython下
#>>> timeit filter(lambda x:x>=0,data)
#>>> timeit [x for x in data if x>=0]
# 结果:列表解析:432ns(纳秒)
#       filter  :1.4us(微秒)=1400ns
#       1微秒等于1000纳秒
res = [x for x in data if x>=0]
print res

列表解析更快,用timeit测试

  • 字典解析
from random import randint
# 某班有20个人,分数分布在60~100
d = {x: randint(60,100) for x in xrange(1,21) }
print d
print { k for k in d if k>15}
#循环值
print {v for v in d.values() if v>80}
#循环键
print {k for k in d.keys() if k>10}
#循环键和值
res = {k:v for k,v in d.iteritems() if v>90}
print res
  • 集合解析
from random import randint
data = [randint(-10,10) for _ in xrange(10)]
s = set(data) 
print s
sres = {x for x in s if x % 3 == 0}
print sres

相关文章

  • Python之集合筛选

    如何在列表,字典,集合中根据条件筛选 核心:使用生成式 列表: 生成随机列表: 筛选方法: 字典: 生成字典: 筛...

  • Python 进阶(上)

    1、如何在列表、字典、集合中根据条件筛选数据? 列表 字典 集合 2、如何为元组中的每个元素命名,提高程序可读性?...

  • python进阶:第一章(数据结构与算法)

    问题一:如何在列表,字典,集合中根据条件筛选数据? 问题内容:如何找出列表中的负数?如何筛选出字典中值大于某个数值...

  • chapter one

    如何在列表,字典,集合中根据条件筛选数据 过滤掉列表中的负数 timeit 列表解析更快都远快于跌代方案 筛出集合...

  • python高级编程技巧(1)

    一. 如何在列表、字典、集合中根据条件筛选数据 实际案例: 过滤掉列表[3,6,7,9,-1,-2,...]中的负...

  • 第1章数据结构与算法

    1-1 如何在列表, 字典, 集合中根据条件筛选数据 实际案例1)过滤掉列表[3,9,-1,10,20,-2…]中...

  • Python 50问 [1]:如何在列表、字典、集合中根据条件筛

    通用解法:迭代 如何在列表、字典、集合中根据条件筛选数据?通常我们的做法是使用迭代。 例如针对下面的列表,我们要筛...

  • python在可迭代对象(列表、字典、集合)中根据条件过滤数据

    在列表,字典,集合中根据条件筛选数据 在可迭代对象中根据条件过滤数据,最常用的方法就是使用循环判断、列表推导式、高...

  • Python高效编程(一)

    实际编程和面试都会遇到的典型问题。 如何在列表,字典,集合中根据条件筛选数据 如何为元组中每个元素命名,提高程序的...

  • 案例式精讲python开发技巧

    第二章 数据结构相关话题 1、如何在列表、字典、集合中根据条件筛选数据 2、如何给元组中的每个元素命名,提高程序可...

网友评论

      本文标题:如何在列表、字典、集合中根据条件筛选数据

      本文链接:https://www.haomeiwen.com/subject/ebihcqtx.html