美文网首页
python从字典中提取子集的3种方法

python从字典中提取子集的3种方法

作者: 孙广宁 | 来源:发表于2018-05-10 15:32 被阅读0次
    • 第一种直接创建字典方式
    prices = {
        'ACME': 45.2,
        'APPLE': 612.2,
        'IBM': 205.55,  
        'HPQ': 37.20,
        'FB': 10.75
    }
    >>> p1 = {key:value for key,value in prices.items() if value>200}
    >>> p1
    {'APPLE': 612.2, 'IBM': 205.55}
    
    • 第二种使用字典推导式,函数更清晰,效率是第一种的2倍多
    >>> p2 = dict((key,value) for key,value in prices.items() if value>200)
    >>> p2
    {'APPLE': 612.2, 'IBM': 205.55}
    

    *第三种使用key与已知序列求交集,实际上这种方法比第一种效率还要低1.6倍,不提倡使用

    >>> tech_names = ['IBM','APPLE']
    >>> p3 = {key:prices[key] for key in prices.keys() & tech_names }
    >>> p3
    {'APPLE': 612.2, 'IBM': 205.55}
    
    • 实现方法还有很多,效率上需要具体分析,如何测试函数效率后续会介绍

    相关文章

      网友评论

          本文标题:python从字典中提取子集的3种方法

          本文链接:https://www.haomeiwen.com/subject/glnzrftx.html