python_data_structures_cheatsheet.md 2.2 KB

Python 常见数据结构速查表

1. 列表 list

  • 语法:

    nums = [1, 2, 3]
    
  • 特点:

    • 有序
    • 可变
    • 可放重复元素
  • 常用操作:

    nums.append(4)
    nums.remove(2)
    nums[0]
    nums[1:3]
    

2. 元组 tuple

  • 语法:

    point = (10, 20)
    
  • 特点:

    • 有序
    • 不可变
    • 可放重复元素
  • 常用操作:

    point[0]
    len(point)
    point.count(10)
    

3. 集合 set

  • 语法:

    s = {1, 2, 3}
    
  • 特点:

    • 无序
    • 元素唯一
    • 可变
  • 常用操作:

    s.add(4)
    s.remove(2)
    3 in s
    

4. 字典 dict

  • 语法:

    stu = {"name": "Tom", "age": 18}
    
  • 特点:

    • 键值对
    • key 唯一
    • 无序(Python 3.7+ 记录插入顺序)
  • 常用操作:

    stu["name"]
    stu["age"] = 19
    stu.keys()
    stu.values()
    

5. 字符串 str

  • 语法:

    msg = "hello"
    
  • 特点:

    • 不可变
    • 由字符组成
  • 常用操作:

    msg.lower()
    msg.upper()
    msg.strip()
    msg.split(" ")
    

6. 范围 range

  • 语法:

    r = range(5)
    
  • 特点:

    • 表示一段连续整数
    • 常用于循环
  • 例子:

    for i in range(5):
      print(i)
    

7. 冰冻集合 frozenset

  • 语法:

    fs = frozenset({1, 2, 3})
    
  • 特点:

    • 跟 set 类似
    • 但不可变
  • 用途:

    • 作为字典 key
    • 需要固定集合时

8. 生成器/迭代器

  • 例子:

    gen = (x * x for x in range(5))
    
  • 特点:

    • 惰性计算
    • 适合大数据/流式处理

快速对比

  • 列表:[ ],可变,有序
  • 元组:( ),不可变,有序
  • 集合:{ },去重,无序
  • 字典:{ key: value },键值对
  • 字符串:" ",文本
  • range:连续整数序列

记忆口诀

  • [] -> 列表
  • () -> 元组
  • {} -> 集合或字典(看里面是否是 key: value
  • "" -> 字符串

常见使用场景

  • 列表:存放多个值,易修改
  • 元组:存放固定值,确保数据不变
  • 集合:去重、快速查重
  • 字典:映射关系,如姓名-年龄
  • 字符串:文本处理
  • range:循环计数