当前位置: 首页 > news >正文

Python 字典和集合(字典推导)

本章内容的大纲如下:
常见的字典方法
如何处理查找不到的键
标准库中 dict 类型的变种set 和 frozenset 类型
散列表的工作原理
散列表带来的潜在影响(什么样的数据类型可作为键、不可预知的
顺序,等等)

字典推导

自 Python 2.7 以来,列表推导和生成器表达式的概念就移植到了字典
上,从而有了字典推导(后面还会看到集合推导)。字典推导
(dictcomp)可以从任何以键值对作为元素的可迭代对象中构建出字
典。示例 3-1 就展示了利用字典推导可以把一个装满元组的列表变成两
个不同的字典。
示例 3-1 字典推导的应用

>>> DIAL_CODES = [ ➊
... (86, 'China'),
... (91, 'India'),
... (1, 'United States'),
... (62, 'Indonesia'),
... (55, 'Brazil'),
... (92, 'Pakistan'),
... (880, 'Bangladesh'),
... (234, 'Nigeria'),
... (7, 'Russia'),
... (81, 'Japan'),
... ]
>>> country_code = {country: code for code, country in DIAL_CODES} ➋
>>> country_code
{'China': 86, 'India': 91, 'Bangladesh': 880, 'United States': 1,
'Pakistan': 92, 'Japan': 81, 'Russia': 7, 'Brazil': 55, 'Nigeria':
234, 'Indonesia': 62}
>>> {code: country.upper() for country, code in country_code.items() ➌
... if code < 66}
{1: 'UNITED STATES', 55: 'BRAZIL', 62: 'INDONESIA', 7: 'RUSSIA'}

❶ 一个承载成对数据的列表,它可以直接用在字典的构造方法中。
❷ 这里把配好对的数据左右换了下,国家名是键,区域码是值。
❸ 跟上面相反,用区域码作为键,国家名称转换为大写,并且过滤掉
区域码大于或等于 66 的地区。

如果列表推导的概念已经为你所熟知,接受字典推导应该不难。如果你
对列表推导还不熟,那么是时候来掌握它了,因为字典推导的表达形式会蔓延到其他数据类型中。
下面来看看映射类型提供的 API 的全景图。

相关文章:

  • 美国NAB展会次日实况
  • C++ 基类的虚析构函数与派生的析构函数关系
  • Reflexion 框架 | 提示词工程(4)
  • HOW - React 组件渲染受其他无关数据影响和优化方案(含memo和props.children)
  • equals() 和 hashCode()
  • 泛目录站群,无极多功能泛目录站群程序:AI驱动的SEO增长引擎
  • java设计模式-单例模式
  • 【unity游戏开发入门到精通——动画篇】Animator2D序列帧动画
  • 解锁健康养生密码,拥抱活力人生
  • 手写数字识别实战教程:从零实现MNIST分类器(完整代码示例)
  • 算法篇(八)【递归】
  • 【代码随想录 字符串6.实现strstr】 KMP算法。
  • 1区6.6分CHARLS最新文章解读
  • 【学习笔记】文件上传漏洞--二次渲染、.htaccess、变异免杀
  • 2025年客运从业资格证备考刷题题库
  • 7-11 分段计算居民水费
  • 告别循环!用Stream优雅处理集合
  • AI无人直播教程 ai无人直播系统 【工具下载+教程】
  • 英语学习:单复数宏
  • 【SpringCloud】从入门到精通【上】
  • 做药品的b2b网站/互联网营销师证书含金量
  • 做爰全过程免费的视频网站爱/今日新闻最新消息大事
  • 华企在线网站建设/制作网站的基本步骤
  • 佛山正规网站建设哪家好/潍坊seo外包平台
  • 房产网站建设机构/官网制作公司
  • 上海高端网站建设公/广州百度seo代理