python高级(如何在列表,字典,集合中根据条件筛选数据)

列表

1)遍历列表中每一项元素,对每一项元素进行判断,筛选符合的数据加入到新列表中

data = [1,5,-3,-2,6,0,9]

res = []

for x in data:

     if x >= 0:

         res.append(x)

print(res)

2)列表推导式

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

3)利用filter函数进行过滤,导入随机函数模块随机生成一组列表,filter参数传入匿名函数条件和所要筛选的序列

from random import randint

data = [randint(-10, 10) for _ in xrange(10) ]

print(filter(lambda x: x  >= 0,data))

 

字典

字典推导式

同样利用随机函数模块生成一组数据,推导式创建字典,循环键值对形式根据条件对值进行判断

from random import randint

d = {x: randint(60,100) for x in range(1,21)}

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

 

集合

集合推导式

像字典推导式一样在大括号{}里写循环判断条件,跟列表里一样只需填一个值

data = [1,5,-3,-2,6,0,9]

s = set(data)

print({x for x in s if x %3 == 0})

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值