流畅的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__调用
相关推荐
27669582926 小时前
dy x-tt-session-dtrait 逆向分析
python·node·dy·dy逆向·抖音请求头逆向·session-dtrait·dtrait
麻雀无能为力6 小时前
VAE(变分自编码器 Variational Auto-Encoder)学习笔记
笔记·学习
悟能不能悟7 小时前
Java CheckFailedException会去获取message.properties的内容吗
java·开发语言
shang_xs7 小时前
Java 25 ScopedValue - 作用域内安全访问的一种实现
java·开发语言·安全
小途软件7 小时前
基于深度学习的驾驶人情绪识别
java·人工智能·pytorch·python·深度学习·语言模型
Kratzdisteln7 小时前
【MVCD 7】
python·pygame
向量引擎7 小时前
[架构师级] 压榨GPT-5.2与Sora 2的极限性能:从单体调用到高并发多模态Agent集群的演进之路(附全套Python源码与性能调优方案)
开发语言·人工智能·python·gpt·ai·ai写作·api调用
北岛寒沫7 小时前
北京大学国家发展研究院 经济学原理课程笔记(第十九课 长期经济增长)
经验分享·笔记·学习
逻极7 小时前
数据分析项目:Pandas + SQLAlchemy,从数据库到DataFrame的丝滑实战
python·mysql·数据分析·pandas·sqlalchemy
小白学大数据7 小时前
Java 异步爬虫高效获取小红书短视频内容
java·开发语言·爬虫·python·音视频