1,如何在列表,字典,集合中根据条件筛选值
发布日期:2021-05-18 11:08:35 浏览次数:18 分类:精选文章

本文共 951 字,大约阅读时间需要 3 分钟。

列表数据筛选

在实际编程中,筛选列表数据是非常常见的操作。以下是几种常用方法及其比较分析:

1. 使用 for 循环

这种方法简单直接,适用于较小的数据量。

  • 优点:易于理解,逻辑简单。
  • 缺点:对于较长列表,循环速度较慢。
data = [1, 2, -8, -2, 6, -9, 42, 36]
res = []
for i in data:
if i > 0:
res.append(i)

2. 使用 filter 过滤函数

filter 函数提供了更加简洁的代码 sintax。

  • 优点:代码简洁,运行速度较快。
  • 缺点:没有显式的列表推导式,某些场景下不够直观。
from random import randint
data = [randint(-10, 10) for _ in range(10)]
res = list(filter(lambda x: x > 0, data))

3. 使用 列表推导式 + if 判断

结合列表推导式和条件判断,可以实现更紧凑的代码表达。

  • 优点:代码简洁,运行速度较快。
  • 缺点:对于复杂逻辑条件,可能需要额外的代码解释。
from random import randint
data = [randint(-10, 10) for _ in range(10)]
res = [i for i in data if i > 0]

字典数据筛选

对于字典数据,通常使用字典推导式结合条件判断。

from random import randint
data = {x: randint(60, 100) for x in range(21)}
res = {k: v for k, v in data.items() if v > 90}

集合数据筛选

对于集合数据,可以通过条件判断筛选出符合条件的元素。

from random import randint
data = set([randint(-1, 10) for _ in range(10)])
res = {i for i in data if i % 3 == 0}

上述代码示例从简单到复杂,灵活满足不同的需求场景。选择哪种方法取决于具体的应用场景和数据规模。

上一篇:2,如何为元组中的每个元素命名,提高程序可读性
下一篇:爬虫基础(1):爬取你的第一张图片

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2025年04月28日 16时42分58秒