流畅的python笔记

3.1 泛映射类型

  • collections.abc 模块中有Mapping和MutableMapping这俩个抽象类,作用是为dict和其他类似的类型定义形式接口

  • a = dict(one=1, two=2, three=3)

  • b = {'one':1, 'two': 2, 'three': 3}

  • c = dict(zip('one', 'two', 'three', 1, 2, 3))

  • d = dict(('two', 2), ('one', 1), ('three', 3))

  • e = dict({'three': 3, 'one': 1, 'two': 2})

  • a == b == c == d == e # True

3.2 字典推导

3.3 常见的映射方法

  • dict
  • collections.defaultdict
  • collections.OrderedDict
用setdefault处理找不到的键
  • my_dict.setdefault(key, \[\]).append(new_value)

3.4 映射的弹性键查询

  • 处理找不到的键:
    • defaultdict
      • 如果有字典 dd = defaultdict(list), 如果键'new-key'在dd中还不存在的话
        • 调用list()来建立一个新列表
        • 把这个新列表作为值,'new-key'作为他的键,放到dd中
        • 返回这个列表的引用
    • 自己定义一个dict的子类,实现__missing__方法
      • __missing__方法只会被__getitem__调用
相关推荐
鹏哥带你干乡墅11 分钟前
优选乡墅赋能培训平台如何帮助提升乡村建设?
大数据·人工智能·python
江畔柳前堤14 分钟前
前台·中台·后台:2026年AI原生时代的架构全景图
开发语言·人工智能·算法·机器学习·架构·scala·ai-native
Figo_Cheung24 分钟前
Figo基于RNC理论的宇宙演化第七纪元猜想
开发语言·php
猎头南楼37 分钟前
VLA 模型落地端侧:从架构选型到量化部署的工程实践笔记
笔记·架构·大模型
veminhe1 小时前
python调用接口获取网络信息
python
Capricorn19881 小时前
日志级幻觉排障:GPT-6 Astra 迈入 AGI 时代,知芽 Notebook Skill 如何以引用校验与零命中诚实弃权解决长文失忆
论文阅读·人工智能·笔记·gpt·agi
泡海椒1 小时前
JQuick-Curl 二次开发:自定义解析器、扩展点开发指南,如何把框架能力真正变成团队资产
java·开发语言·okhttp·maven
Allen_LVyingbo2 小时前
医疗AI基础2026-构建可靠智能体的编程路径(上)
大数据·数据库·人工智能·python·自动化
疯狂打码的少年2 小时前
【数据库技术】多值依赖与第四范式(4NF)
数据库·笔记·算法
tq10862 小时前
算法的另一面
笔记