kirineko/Python类型的设计意图

Created Wed, 28 Sep 2022 00:00:00 +0000 Modified Thu, 09 Mar 2023 01:17:44 +0800

讨论Python中List, String, Generator, Tuple, Set, Dictionary等几种常见类型的设计意图


1. List

  • 可迭代
  • 可变
  • 较少的从列表的中间检索值
  • 可能会有元素重复
  • cookbooks on a shelf

2. String

  • 不可变
  • 字符集
  • name of cookbook

3. Generator

  • 只适用迭代,不使用索引
  • 惰性获取
  • 可能会有无数个元素
  • online databases of recipes

4. Tuple

  • 不可变
  • 可能从元组中间检索值(索引或拆包)
  • 较少迭代
  • (cookbook_name, author, pagecount)

5. Set

  • 没有重复元素
  • 不依赖元素顺序

6. Dictionary

  • 键值对映射
  • key唯一
  • 通常用于迭代或索引查找

7. frozenset

  • 不可变的集合

8. OrderedDict

  • 有序字典
  • 按照插入顺序的字典
  • CPython 3.6以后dict也都是OrderedDict

9. defaultdict

  • 默认值字典

10. Counter

  • 计数器: 对可迭代对象进行计数

1. For

  • 用于迭代元素
  • 对迭代的元素进行操作或产生副作用

2. while

  • 根据特定条件进行迭代

3. 列表理解

  • 迭代并转换
  • 无副作用

4. 递归

  • 子结构类型与父结构类型相同