python实用技巧:在列表,字典,集合中快速筛选数据

python中,要对列表、字典、集合进行数据筛选,最简单的方式就是用遍历,逐一对比,将符合条件的元素保存。这种方式虽然简单,但不够简洁优雅,以下用实例说明其他实现方式。

本文示例代码均用python3实现

列表、字典、集合解析

筛选列表数据

构建一个数值范围在-5至20的10个元素的列表,并将该列表中大于3的数据取出

构建列表

from random import randint
data = [randint(-5, 20) for _ in range(10)] # 表示循环了10次,每次循环都从-5至20之间取一个数值保存到data中
print(data)

用遍历的方式筛选数据

'''迭代'''
for x in data:
    if x > 3:
        result.append(x)

print(result)

使用filter函数

'''filter函数'''
result = list(filter(lambda x: x > 3, data))  # 使用匿名函数对列表data进行过滤
print(result)

使用列表解析

'''列表解析'''
result = [x for x in data if x > 3]
print(result)

筛选字典元素

假设一个班里有30个学生,python的考试成绩为0至100分之间,要将<60分的同学筛选出来。

针对此需求,需要先构建一个以学号为key,分数为value的字典

'''构建字典'''
student_score = {x: randint(0, 100) for x in range(1, 31)}
print(student_score)

使用字典解析

result = {k:v for k, v in student_score.items() if v < 60}
print(result)

集合解析

筛选一个集合中的偶数

构建集合

myset = {randint(5, 20) for _ in range(20)}  # set集合中不能包含重复的数据,循环20次有可能获取到重复的数据,因此元素的个数可能小于20个
print(myset)
print(type(myset))

使用集合解析

result = {x for x in myset if x % 2 == 0}
print(result)

源码下载

源码包下载

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏欧阳大哥的轮子

深入iOS系统底层之CPU寄存器介绍

计算机是一种数据处理设备,它由CPU和内存以及外部设备组成。CPU负责数据处理,内存负责存储,外部设备负责数据的输入和输出,它们之间通过总线连接在一起。CPU内...

783
来自专栏www.96php.cn

PHP编程效率的20个要点

用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则 不会,注意:只有echo能这么做,它是一种可以把多个字...

2609
来自专栏数值分析与有限元编程

Fortran关于默认数组读取的认识

有这样一组数据: 15 36 85 96 67 45 14 14 28 23 45 56 45 45 34 12 42 65 56 67 43 12 45 60...

32210
来自专栏企鹅号快讯

JavaScript字符串“三剑客”

JavaScript字符串方法有很多,其中有三个方法与字符串裁剪有关,他们分别是slice()、substring()和substr(),我把他们统称为“三剑客...

1879
来自专栏C语言及其他语言

指针

1、地址与指针 Hi,欢迎来到指针的世界,也许您早已听过它的大名,指针被称为是C语言的精华所在。真正理解和掌握指针是征服C语言的关键所在! 在众多的计算机语言中...

2596
来自专栏PhpZendo

PHP 数组使用之道

这个教程我将通过一些实用的实例和最佳实践的方式列举出 PHP 中常用的数组函数。每个 PHP 工程师都应该掌握它们的使用方法,以及如何通过组合使用来编写更精简且...

512
来自专栏较真的前端

关于事件的前端面试题总结

2135
来自专栏北京马哥教育

Python 中被忽略的 else

1274
来自专栏编程

PHP7 下的协程实现

前言 相信大家都听说过『协程』这个概念吧。 但是有些同学对这个概念似懂非懂,不知道怎么实现,怎么用,用在哪,甚至有些人认为yield就是协程! 我始终相信,如果...

2168
来自专栏python3

习题17:更多文件操作

import了又一个很好用的命令exists,这个命令将文件名字符串作为参数,如果文件存在的话,它将返回True,否则将返回False

551

扫码关注云+社区