小甲鱼Python学习笔记

列表常用操作符

  • 比较操作符(>、<、== 等)
    • 规则:从索引0开始逐个元素比较,首个分出大小即终止
    • 示例:[123,456] < [234,123] → True(123 < 234)
  • 逻辑操作符(and、or、not)
    • 规则:结合比较操作符使用,遵循逻辑判断规则
    • 示例:([123,456]<[234,123]) and ([123,456]==[123,456]) → True
  • 连接操作符(+)
    • 规则:只能拼接两个列表,不能直接拼接列表与单个元素
    • 示例:[1,2]+[3,4] → [1,2,3,4];[1,2]+"a" → 报错
    • 替代方案:添加元素用 append()/insert(),批量扩展用 extend()
  • 重复操作符(*)
    • 语法:列表 * n / 列表 *= n
    • 规则:生成原列表重复n次的新列表,*= 原地修改原列表
    • 示例:[1,2]*3 → [1,2,1,2,1,2]
  • 成员关系操作符(in、not in)
    • 规则:仅判断单层成员关系,无法直接识别嵌套列表内元素
    • 示例:"小甲鱼" in [123,["小甲鱼","牡丹"],456] → False
    • 嵌套判断:"小甲鱼" in [123,["小甲鱼","牡丹"],456][1] → True

列表嵌套元素访问

  • 语法:列表名[外层索引][内层索引]
  • 示例:[123,["小甲鱼","牡丹"],456][1][0] → "小甲鱼"

列表内置方法(BIF)

  • count(元素):统计指定元素在列表中出现的次数
    • 示例:[123]*15.count(123) → 15
  • index(元素[, 起始索引[, 结束索引]]):返回元素首次出现的索引,可指定查找范围
    • 示例:[123,456,123].index(123,1,3) → 2
  • reverse():将列表原地翻转,无返回值
    • 示例:[1,2,3].reverse() → 列表变为 [3,2,1]
  • sort(reverse=False):将列表原地排序,默认升序
    • 规则:reverse=True 时降序排序
    • 示例:[4,3,2,5,1].sort(reverse=True) → [5,4,3,2,1]

列表拷贝的关键区别

  • 分片拷贝(深拷贝简化版)
    • 语法:new_list = old_list[:]
    • 特点:生成独立新列表,修改原列表不影响新列表
  • 直接赋值(引用传递)
    • 语法:new_list = old_list
    • 特点:新列表与原列表指向同一内存地址,修改任意一个都会同步变化