python如何在列表、对象、集合中根据条件筛选数据


# 1.筛选出列表Ldata中小于0的元素
Ldata = [1, 2, 3, 4, 5, 6, -1, -2]

# a.使用匿名函数lambda和filter函数
# lambda x:   匿名函数, 参数(依次迭代列表中的每一个参数) 返回Boolean值

res1 = list(filter(lambda x: x < 0, Ldata))
# res1 [-1,-2]

# b.使用列表解析 效率更高
res2 = [x for x in Ldata if x < 0]
# res2 [-1,-2]

# 2.筛选出字典Dict_data中值大于90的元素
Dict_data = {"悟空": 90, "悟净": 80, "悟能": 92}
res3 = {k: v for k, v in Dict_data.items() if v > 90}
# res3 {'悟能': 92}

# 3.筛选出集合set_data中小于0的值
set_data = {1,2,55,-1,-2,-3,5}
res4 = {s for s in set_data if s<0}
# res4 {-3, -1, -2}



Python,可以使用多种方法来筛选满足特定条件数据。最常用的方法之一是使用列表推导式(list comprehension),它提供了一种简洁的方式来进行筛选。此外,还可以使用生成器表达式和`filter()`函数来达到同样的目的。下面是这些方法的基本用法: 1. 列表推导式(List Comprehension): 列表推导式可以在一个简单的表达式完成筛选和迭代操作,非常适合用于筛选满足条件的元素。基本语法如下: ```python filtered_list = [item for item in iterable if condition] ``` 其`iterable`是你想要筛选数据集合,`condition`是筛选条件。 2. 生成器表达式(Generator Expression): 生成器表达式与列表推导式类似,但返回的是一个生成器对象,适用于处理大数据集,因为它不会一次性将所有元素加载到内存。语法如下: ```python filtered_generator = (item for item in iterable if condition) ``` 3. `filter()`函数: `filter()`函数可以根据提供的函数来筛选出满足条件的元素,它返回一个迭代器。如果你要使用`filter()`函数,需要提供一个函数对象和一个迭代对象。基本用法如下: ```python def condition(item): return item满足条件 filtered_iterable = filter(condition, iterable) ``` 或者使用lambda表达式简化: ```python filtered_iterable = filter(lambda item: item满足条件, iterable) ``` 以下是一个使用列表推导式筛选数字的示例: ```python # 筛选大于10的数字 numbers = [1, 12, 3, 24, 5, 2, 17] filtered_numbers = [num for num in numbers if num > 10] print(filtered_numbers) # 输出: [12, 24, 17] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值