当前位置: 首页 > news >正文

Python中的列表list使用详解

一、Python中 list 基础介绍

Python 中的 list可变的有序容器,可以存放任意类型的对象。

# 定义一个列表
fruits = ['apple', 'banana', 'cherry']

二、基本操作

1. 添加元素

fruits.append('orange')          # 追加到末尾
fruits.insert(1, 'grape')        # 指定位置插入
fruits.extend(['mango', 'pear']) # 批量添加

2. 删除元素

fruits.remove('banana')          # 删除指定元素(只删第一个)
removed = fruits.pop()           # 删除最后一个并返回
del fruits[0]                    # 删除指定索引
fruits.clear()                   # 清空列表

3. 访问元素

item = fruits[1]                 # 正向索引
item = fruits[-1]                # 反向索引

4. 列表切片(slice)

sub_list = fruits[1:3]           # 截取第1到第2(不含3)
reversed_list = fruits[::-1]     # 反转列表

三、循环与遍历

for fruit in fruits:print(fruit)# 带索引遍历
for i, fruit in enumerate(fruits):print(i, fruit)

四、查找与统计

'banana' in fruits              # 判断是否存在
index = fruits.index('apple')  # 获取索引
count = fruits.count('apple')  # 统计出现次数

五、排序与反转

numbers = [4, 1, 7, 3]
numbers.sort()                 # 原地排序
sorted_numbers = sorted(numbers, reverse=True)  # 返回新排序列表
numbers.reverse()              # 原地反转

六、列表生成式(推荐)

squares = [x ** 2 for x in range(5)]   # [0, 1, 4, 9, 16]

七、注意事项

  1. list.append() 是就地操作,不返回新列表。
  2. 使用 remove() 时若元素不存在会报错,可用 if in 先判断。
  3. list1 = list2 会导致两个列表指向同一内存,建议使用 .copy()
  4. 嵌套列表修改需注意浅拷贝问题(可用 copy.deepcopy())。

八、例子:列表去重(保持顺序)

def deduplicate(lst):seen = set()return [x for x in lst if not (x in seen or seen.add(x))]nums = [1, 2, 2, 3, 1]
print(deduplicate(nums))  # [1, 2, 3]
http://www.xdnf.cn/news/380611.html

相关文章:

  • 重复的子字符串
  • 【ts】defineProps数组的类型声明
  • 人工智能100问☞第19问:什么是专家系统?
  • 自定义类型-结构体(二)
  • 基于ssm的超市库存商品管理系统(全套)
  • Vue.js框架的优缺点
  • 2025年PMP 学习六 -第5章 项目范围管理 (5.1,5.2,5.3)
  • ubunut20.04 安装运行lvi-sam
  • JavaSE核心知识点02面向对象编程02-05(方法)
  • 【比赛真题解析】混合可乐
  • 翻转数位题目解释和代码
  • C语言复习--动态内存管理
  • 同步、异步、并发的区别
  • Python与YOLO:自动驾驶中的实时物体检测
  • comfyui 如何优雅的从Hugging Face 下载模型,文件夹
  • 2025年特种作业操作证考试题库及答案(登高架设作业)
  • AST(抽象语法树)与 HBO(基于历史的优化)详解
  • 使用 Jackson 在 Java 中解析和生成 JSON
  • Spring事务管理实现机制
  • Windows右键管理工具:轻松添加/删除/修改右键菜单项!
  • xml与注解的区别
  • 机器学习 day01
  • 如何更改typora图片存储位置
  • 将一张100 元的钞票换成1 元、2元、5 元和10 元的零钱,每种零钞至少一张
  • CH579 CH573 CH582 CH592 蓝牙主机(Central)实例应用讲解
  • C. scanf 函数基础
  • Linux--JsonCpp
  • 【C++】内存管理
  • Lettuce 节点刷新、连接优化与 Spring 升级适配全解析:从环境约束到生产验证
  • printf调试时候正常,运行时打印不出来