python开发技巧---列表、字典、集合值的过滤

主要学习列表,字典,集合表达式的应用:

 

列表的解析式:
生成一个随机列表:
In [4]: datalist = [randint(-10,10) for _ in range(10)]

In [5]: print(datalist)
[-5, 7, -9, 10, 3, 0, 5, -8, 2, 10]

过滤大于0的值
In [13]: list(filter(lambda x: x >= 0,datalist))
Out[13]: [7, 10, 3, 0, 5, 2, 10]

字典的解析式:
生产一个随机成绩字典:
In [22]: d = {x:randint(50,100) for x in range(1,30)}

In [23]: print(d)
{1: 62, 2: 57, 3: 70, 4: 85, 5: 55, 6: 70, 7: 82, 8: 90, 9: 55, 10: 85, 11: 94, 12: 75, 13: 56, 14: 89, 15: 92, 16: 97, 17: 75, 18: 73, 19: 55, 20: 54, 21: 71, 22: 60, 23: 74, 24: 83, 25: 70, 26: 78, 27: 82, 28: 74, 29: 99}

过滤成绩大于90的:
In [28]: d1 = {k:v for k,v in d.items() if v > 90}

In [29]: d1
Out[29]: {11: 94, 15: 92, 16: 97, 29: 99}

结合的解析式:
In [30]: s = set(datalist)

In [31]: s
Out[31]: {-9, -8, -5, 0, 2, 3, 5, 7, 10}

In [32]: s1 = {x for x in s if x %3 == 0}

In [33]: s1
Out[33]: {-9, 0, 3}

 

转载于:https://www.cnblogs.com/netsa/p/8616710.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值