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

作者: cuzz_ | 来源:发表于2018-02-28 13:44 被阅读9次
image.png

过滤列表中的负数

对于列表我们最通用的方法就是迭代

data = [3, 9, -1, 10, 20, -2, 0]

res = []
for x in data:
    if x >= 0:
        res.append(x)

print(res)

我们还可以通过filter(function, iterable)函数

filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

from random import randint

# randint中-10和10都包括, 如果不需要x可以用下划线表示
data = [randint(-10, 10) for _ in range(10)]
data1 = filter(lambda x: x >= 0, data)

print(list(data1))

我们还可以用列表解析

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

print(list(data1))

使用timeit测试发现列表解析比filter快一倍,所以我们首选列表解析

字典筛选

筛选出分数大于等于90分的学生

from random import randint
# 随机生成一个学号从1-20学生的分数
d = {x: randint(60, 100) for x in range(1, 21)}

d1 = {key: value for key, value in d.items() if value >= 90}

print(d1)

集合筛选

筛选出集合中能被3整除的数

from random import randint

data = [randint(-10, 10) for _ in range(10)]
s = set(data)
s1 = {for x in s if x % 3 == 0}

print(s1)

相关文章

  • 第1章数据结构与算法

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

  • Python之集合筛选

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

  • Python 进阶(上)

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

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

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

  • chapter one

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

  • python高级编程技巧(1)

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

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

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

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

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

  • Python高效编程(一)

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

  • 案例式精讲python开发技巧

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

网友评论

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

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