美文网首页PythonPython
Python 使用字典推导从字典中提取子集

Python 使用字典推导从字典中提取子集

作者: 大梦三千秋 | 来源:发表于2020-05-15 18:01 被阅读0次

使用字典推导从字典中提取子集


问题


构造一个字典,而这个字典是另外一个字典的子集

解决方案


这里提供的方法是使用字典推导。示例代码如下:

prices = {
    'ACME': 45.23,
    'AAPL': 612.78,
    'IBM': 205.55,
    'HPQ': 37.20,
    'FB': 10.75
}

# 创建价格超过 200 的字典
p1 = {key: value for key, value in prices.items() if value > 200}
# 创建原有数据中为科技股的股票的字典
tech_names = {'AAPL', 'IBM', 'HPQ', 'MSFT'}
p2 = {key: value for key, value in prices.items() if key in tech_names}

print(p1)
# {'AAPL': 612.78, 'IBM': 205.55}
print(p2)
# {'AAPL': 612.78, 'IBM': 205.55, 'HPQ': 37.2}

代码解析


上面代码中,使用字典推导完成的部分,可以用另外的方法实现,示例如下:

p1 = dict((key, value) for key, value in prices.items() if value > 200)

相比较之下,字典推导式更加简洁,实际上运行速率也更快些。(下面是利用 jupyter notebook 进行的测试,推导式比 dict() 函数方式快了快整整一倍)

%timeit p1 = {key: value for key, value in prices.items() if value > 200}
# 672 ns ± 5.28 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

%timeit p1 = dict((key, value) for key, value in prices.items() if value > 200)
# 1.23 µs ± 4.05 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

完成一个任务,有多种方式。但如果对运行性能要求高的话,需要花时间做计时测试。

相关文章

  • Python 使用字典推导从字典中提取子集

    使用字典推导从字典中提取子集 问题 构造一个字典,而这个字典是另外一个字典的子集 解决方案 这里提供的方法是使用字...

  • 【Python进阶】1.17从字典中提取子集

    1.17 从字典中提取子集 问题 你想构造一个字典,它是另外一个字典的子集。 解决方案 最简单的方式是使用字典推导...

  • 数据结构 | 字典 (下)

    字典推导式 合并大小写key的值。 更换字典中key和value的值。 从字典中提取子集。 根据记录进行分组 将字...

  • 从字典中提取子集 --字典推导式

    介绍使用字典推导式生成一个字典子集的3种方式: 1、提取出价格大于200的字典子集 生成包含如下集合中键的字典 2...

  • 装饰器总结

    1.字典推导式实现从字典中提取子集 out: 2.装饰器decorator output: 装饰函数只调用了一次,...

  • Python3 - 从字典中提取子集(推导式)

    问题 你想构造一个字典,它是另外一个字典的子集。 解决方案 最简单的方式是使用字典推导。比如: 大多数情况下字典推...

  • Python中各种推导式

    Python的各种推导式(列表推导式,字典推导式,集合推导式) 列表(list)推导式 字典(dict)推导式 集...

  • 从字典中提取子集

    欢迎猛击个人博客悟の迹【http://chihweihsu.com】更多精彩等着你 需求 给你一个条件,从已给字典...

  • 字典推导与集合推导

    字典推导 字典推导与列表推导相似,它将推导出一个字典,具体示例如下: 字典解析使用花括号包围,并且需要两个表达式,...

  • python学习笔记:从字典中提取子集

    问题 想创建一个字典,本身是另一个字典的子集 解决方案 字典推导式(dictionary comprehensio...

网友评论

    本文标题:Python 使用字典推导从字典中提取子集

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