Python cookbook(数据结构与算法)从字典中提取子集的方法示例

yipeiwu_com7年前Python基础

本文实例讲述了Python从字典中提取子集的方法。分享给大家供大家参考,具体如下:

问题:想创建一个字典,其本身是另一个字典的子集

解决方案:利用字典推导式(dictionary comprehension)可轻松解决

# example of extracting a subset from a dictionary
from pprint import pprint
prices = {
 'ACME': 45.23,
 'AAPL': 612.78,
 'IBM': 205.55,
 'HPQ': 37.20,
 'FB': 10.75
}
# Make a dictionary of all prices over 200
p1 = { key:value for key, value in prices.items() if value > 200 }
print("All prices over 200")
pprint(p1)
# Make a dictionary of tech stocks
tech_names = { 'AAPL', 'IBM', 'HPQ', 'MSFT' }
p2 = { key:value for key,value in prices.items() if key in tech_names }
print("All techs")
print(p2)

运行结果:

All prices over 200
{'AAPL': 612.78, 'IBM': 205.55}
All techs
{'AAPL': 612.78, 'HPQ': 37.2, 'IBM': 205.55}

字典推导式的方案清晰且运行起来很快。

(代码摘自《Python Cookbook》)

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python字典操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

对python中for、if、while的区别与比较方法

如下所示: if应用举例: #if 若条件成立,只执行一次 #if 条件:如果条件成立,执行条件后的代码块内容,不成立,直接跳过代码块 #判断如果年龄age小于18,输出未成年 #=...

用smtplib和email封装python发送邮件模块类分享

复制代码 代码如下:#!/usr/bin/python# encoding=utf-8# Filename: send_email.pyfrom email.mime.image imp...

python中的lambda表达式用法详解

本文实例讲述了python中的lambda表达式用法。分享给大家供大家参考,具体如下: 这里来为大家介绍一下lambda函数。 lambda 函数是一种快速定义单行的最小函数,是从 Li...

Django为窗体加上防机器人的验证码功能过程解析

Django为窗体加上防机器人的验证码功能过程解析

这里我们使用 django-simple-captcha 模块,官方介绍如下:https://github.com/mbi/django-simple-captcha 一键安装: p...

Pycharm 2020年最新激活码(亲测有效)

PyCharm 具备一般 IDE 的功能,比如,调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制…另外,PyCharm 还提供了一些很好的功能用于 Django...