Python注意事项

Python原生数据结构

list

  • 方法

    • ==list== 是逐值比较
    • __contains__:方法中使用 == 比较元素
      • in 判断列表包含时也是逐值比较
  • 迭代技巧

    • 需要修改列表元素时尽量不直接迭代列表,考虑
      • 新建列表存储元素值
      • 迭代列表下标
    • 迭代过程会更改列表元素数量时
      • 使用 .pop 方法
      • 确定迭代数量
  • 运算注意

    • .append:直接修改原列表,不返回
    • .extend:直接修改原列表,不返回
    • __add__:返回新列表

参数

  • 勿使用列表、字典等指针类型作为默认参数,否则函数重入结果很可能出现问题
    • 原因:函数体中任何对参数的修改都会被保留
    • 替代方式:None + 函数体内判断

迭代器

  • 需要多次迭代时,应该将迭代器转换为可重复迭代数据结构,如:列表
    • 迭代器值会被消耗