Python进阶实战课程P2如何在列表字典集合中根据条件筛选数据

方法一:用if语句

#过滤掉列表[3,9,-1,10,20,-2]中的负数

alist = [3,9,-1,10,20,-2]

plist = []

for i in alist:

if i>=0:

plist.append(i)

print(plist)

#筛选出字典{'LiLei':79,'Jim':88,'Lucy':92}中值高于90的项

d={'LiLei':79,'Jim':88,'Lucy':92}

for id in set1:

if d[id]>90:

print(id+':'+str(d[id]))

#筛出集合{77,89,32,20,30}中能被3整除的元素

set2={77,89,32,20,30}

for i in set2:

if i%3==0:

print(i)

方法二:用推导式

#过滤掉列[3,9,-1,10,20,-2]表中的负数

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

plist = [m for m in data if m >= 0]

print(plist)

字典解析

#筛选出字典{'LiLei':79,'Jim':88,'Lucy':92}中值高于90的项

d={'LiLei':79, 'Jim':88, 'Lucy':92}

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

print(d1)

集合解析

#筛出集合{77,89,32,20,30}中能被3整除的元素

s={77,89,32,20,30}

s1={x for x in s if x%3==0}

print(s1)

方法三:用filter函数

#过滤掉列[3,9,-1,10,20,-2]表中的负数

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

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

print(plist)

#筛选出字典{'LiLei':79,'Jim':88,'Lucy':92}中值高于90的项

d={'LiLei':79, 'Jim':88, 'Lucy':92}

d1=dict(filter(lambda x : x[1]>90, d.items()))

print(d1)

#筛出集合{77,89,32,20,30}中能被3整除的元素

s={77,89,32,20,30}

s1=set(filter(lambda x : x%3 == 0, s))

print(s1)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值