Python3 列表list

Python3 的列表(List)是处理有序可变数据的核心数据结构,以下是基于历史对话和搜索结果的系统化整理:


一、基础特性

  1. 定义与创建

    • 使用方括号 [] 创建,元素以逗号分隔,支持混合数据类型(如整型、字符串、甚至嵌套列表)。
      my_list = [1, 'a', True, [2, 3]]  # 创建混合类型列表 
      
    • 可变性:列表内容可动态修改,内存地址不变。
  2. 索引与切片

    • 正向索引:从 0 开始(如 my_list[0] 获取第一个元素)。
    • 反向索引:-1 表示最后一个元素(如 my_list[-1] 获取末位元素)。
    • 切片语法:list[start:end:step],左闭右开区间(如 my_list[1:3] 截取第2-3个元素)。

二、核心操作

  1. 增删改查
    | 操作类型 | 方法/语法 | 说明 |
    |----------------|-------------------------------|----------------------------------------------------------------------|
    | 添加元素 | append(obj) | 末尾追加单个元素(如 my_list.append(4)) |
    | | extend(iterable) | 批量追加多个元素(如 my_list.extend([5,6])) |
    | | insert(index, obj) | 指定位置插入元素(如 my_list.insert(1, 'new')) |
    | 删除元素 | remove(obj) | 删除首个匹配项(如 my_list.remove('a')) |
    | | pop([index]) | 移除并返回指定位置元素(默认末尾) |
    | | del list[index] | 直接删除索引位置元素(如 del my_list[0]) |
    | 修改元素 | list[index] = new_value | 直接通过索引赋值(如 my_list[2] = False) |

  2. 排序与组织

  • 永久排序:sort(reverse=False)(如 my_list.sort() 升序排列)。
  • 临时排序:sorted(list) 返回新列表,原列表不变。
  • 反转列表:reverse() 或切片 list[::-1](前者修改原列表,后者生成新列表)。

三、常用方法与特性

  1. 内置函数

    • len(list):获取元素个数(如 len([1,2,3]) → 3)。
    • max(list) / min(list):数值列表求极值(需元素类型一致)。
    • list.count(obj):统计元素出现次数(如 [1,2,2].count(2) → 2)。
  2. 成员检测

    • in / not in:判断元素是否存在(如 'a' in my_list)。
  3. 列表生成式

    • 简化创建逻辑(如 [x2 for x in range(5)][0,1,4,9,16])。

四、高级特性与注意事项

  1. 嵌套列表

    • 支持多维结构(如矩阵 matrix = [[1,2], [3,4]]),通过 matrix[0][1] 访问元素。
  2. 性能优化

    • 避免频繁扩展列表,优先预分配空间(如用 [None] * n 初始化)。
    • 拼接大量数据时,extend()+= 更高效。
  3. 浅拷贝与深拷贝

    • 直接赋值是引用,需用 copy()list.copy() 浅拷贝,嵌套结构需 copy.deepcopy()

五、与其他结构的对比

特性列表(List)元组(Tuple)集合(Set)
可变性✔️✔️(元素唯一)
有序性✔️✔️
语法[](){}set()
典型用途动态数据集合不可变数据(如坐标)去重、成员快速检测

示例代码

列表综合操作示例 
fruits = ['apple', 'banana', 'cherry']
fruits.append('orange')          # 末尾添加 → ['apple', 'banana', 'cherry', 'orange']
fruits.insert(1, 'grape')        # 插入 → ['apple', 'grape', 'banana', 'cherry', 'orange']
fruits.remove('banana')          # 删除 → ['apple', 'grape', 'cherry', 'orange']
sorted_fruits = sorted(fruits)  # 临时排序 → ['apple', 'cherry', 'grape', 'orange']
 
列表生成式创建偶数列表 
even_numbers = [x for x in range(10) if x%2 == 0]  # → [0, 2, 4, 6, 8]

完整列表操作文档可参考 [Python 官方文档] 或 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值