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

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

作者: Diolog | 来源:发表于2019-02-07 12:54 被阅读0次

统一使用python3.4以上版本

实际案例:

  • 过滤列表[3,9,-1,10,-20,-2...]中的负数
  • 筛出字典{'LiLei':79,'Jim':88,'Lucy':92...}中值高于90的项
  • 筛出集合{77,89,32,20...}中能被3整除的元素

List:

首先生成随机的列表:

from random import randint
data = [randint(-10,10) for _ in range(10)]

普通做法1:

list_result = list()
for _ in data:
  if _ >= 0:
    list_result.append(_)

做法2:filter函数

list(filter(lambda x:x>=0,data))

做法3:列表解析

[x for x in data if x>=0]

时间比较:

from timeit import timeit
timeit('list(filter(lambda x:x>=0,{0}))'.format(data))
执行时间:
1.0598646074734006
timeit('[x for x in {0} if x>=0]'.format(data))
执行时间:
0.34205928907095995

列表解析更快一些,首选的方式是列表解析。而后两种方式都远快于第一种迭代的方案。

Dict

随机创建班级分数

data = {i:randint(60,100) for i in range(1,21)}

做法:字典解析

{k:v for k,v in data.items() if v>90}

注:
Python3.5中:iteritems变为items

Set

随机生成集合

data = {randint(-10,10) for _ in range(10)}

集合解析:

{x for x in data if x % 3 == 0}

相关文章

  • 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/ljbwsqtx.html