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

【python基础知识】列表简介

文章目录

    • 列表的基本操作(增删改查)
      • 创建列表
      • 添加元素
      • 删除元素
      • 修改元素
      • 查询元素
    • 列表排序技巧
      • 原地排序(修改原列表)
      • 返回新列表的排序
    • 遍历列表(for循环)
      • 基本遍历
      • 获取索引和值(enumerate)
      • 遍历并修改列表(需通过索引)
    • 切片操作与列表复制
      • 切片语法
      • 列表复制
      • 深拷贝与浅拷贝
    • 列表常用方法速查表
    • 总结

在Python中,列表(List)是最常用的数据结构之一。它可以存储任意数量、任意类型的数据,并且支持动态增删改查。本文将详细介绍列表的核心操作、排序技巧、遍历方法以及切片复制等高级用法。

列表的基本操作(增删改查)

列表是一种可变的有序集合,使用方括号 [] 表示。

创建列表

# 空列表
empty_list = []# 包含不同数据类型的列表
mixed_list = [1, "apple", True, 3.14]# 嵌套列表
nested_list = [[1, 2], [3, 4]]

添加元素

fruits = ["apple", "banana"]# 在末尾添加元素
fruits.append("cherry")  # 结果:['apple', 'banana', 'cherry']# 在指定位置插入元素
fruits.insert(1, "grape")  # 结果:['apple', 'grape', 'banana', 'cherry']

删除元素

# 根据索引删除
popped = fruits.pop(1)  # 删除 'grape',并返回该元素# 根据值删除(第一个匹配项)
fruits.remove("apple")  # 结果:['banana', 'cherry']# 清空列表
fruits.clear()  # 结果:[]

修改元素

numbers = [1, 2, 3]
numbers[1] = 20  # 结果:[1, 20, 3]

查询元素

# 判断元素是否存在
if "apple" in fruits:print("Found!")# 获取元素索引
index = fruits.index("banana")  # 返回 0# 统计元素出现次数
count = fruits.count("cherry")  # 返回 1

列表排序技巧

Python提供了两种排序方式:原地排序和返回新列表的排序。

原地排序(修改原列表)

numbers = [3, 1, 4]
numbers.sort()  # 结果:[1, 3, 4]# 降序排序
numbers.sort(reverse=True)  # 结果:[4, 3, 1]# 自定义排序(按字符串长度)
words = ["apple", "grape", "banana"]
words.sort(key=len)  # 结果:['apple', 'grape', 'banana']

返回新列表的排序

numbers = [3, 1, 4]
sorted_numbers = sorted(numbers)  # 原列表不变,返回 [1, 3, 4]# 降序
sorted_numbers = sorted(numbers, reverse=True)  # 返回 [4, 3, 1]

遍历列表(for循环)

遍历是处理列表数据的核心操作,Python提供了多种遍历方式。

基本遍历

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:print(fruit)

获取索引和值(enumerate)

for index, fruit in enumerate(fruits):print(f"Index {index}: {fruit}")

遍历并修改列表(需通过索引)

numbers = [1, 2, 3]
for i in range(len(numbers)):numbers[i] *= 2  # 结果:[2, 4, 6]

切片操作与列表复制

切片是Python列表的高级特性,可以高效地获取子列表或复制列表。

切片语法

my_list = [0, 1, 2, 3, 4, 5]# 获取索引1到3的元素(不包含3)
slice1 = my_list[1:3]  # 结果:[1, 2]# 获取前3个元素
slice2 = my_list[:3]  # 结果:[0, 1, 2]# 获取从索引2开始的所有元素
slice3 = my_list[2:]  # 结果:[2, 3, 4, 5]# 步长为2(每隔一个元素取一个)
slice4 = my_list[::2]  # 结果:[0, 2, 4]# 反转列表
reversed_list = my_list[::-1]  # 结果:[5, 4, 3, 2, 1, 0]

列表复制

# 错误方式:仅创建引用
list1 = [1, 2, 3]
list2 = list1  # list2和list1指向同一对象# 正确方式:使用切片复制
list3 = list1[:]  # 创建独立副本# 或使用copy()方法
list4 = list1.copy()  # 效果同上

深拷贝与浅拷贝

# 浅拷贝(只复制一层)
nested_list = [[1], [2]]
shallow_copy = nested_list.copy()
shallow_copy[0][0] = 100  # 会同时修改原列表# 深拷贝(完全独立)
import copy
deep_copy = copy.deepcopy(nested_list)
deep_copy[0][0] = 200  # 只修改深拷贝的列表

列表常用方法速查表

方法描述
append(x)在列表末尾添加元素x
insert(i, x)在索引i处插入元素x
remove(x)删除第一个值为x的元素
pop([i])删除并返回索引i处的元素(默认最后一个)
clear()清空列表
sort()原地排序
sorted()返回排序后的新列表
reverse()反转列表元素顺序
copy()返回列表的浅拷贝
count(x)返回元素x出现的次数
index(x)返回元素x第一次出现的索引

总结

列表是Python中最灵活的数据结构之一,掌握列表的增删改查、排序遍历以及切片复制等操作,是编写高效Python代码的基础。建议通过实际项目练习来加深理解,比如处理数据集合、实现算法等。

相关文章:

  • golang 基于redis实现集群中的主实例选举
  • leetcode动态规划—打家劫舍系列
  • 信创国产化
  • vue3实现鼠标悬浮div动画效果
  • espefuse.py烧录MAC地址
  • 若依项目天气模块
  • PHP中文网文章内容提取免费API接口教程
  • Cypress API 中文详解
  • Python基于Django的校园打印预约系统(附源码,文档说明)
  • LangChain实战:MMR和相似性搜索技术应用
  • 01 redis 的环境搭建
  • 第六章 进阶14 项目周报的妙用
  • 湖北理元理律师事务所:债务优化服务的流程透明度建设
  • 基于Matlab实现卫星轨道模拟仿真
  • 抗辐照加固CANFD芯片:以车规级设计提升商业航天系统可靠性
  • MySQL高可用集群
  • 小黑大语言模型应用探索:langchain智能体构造源码demo搭建1(初步流程)
  • QEMU/KVM课程大纲暨学习路线(1)
  • 通义灵码2.5——基于编程智能体开发Wiki多功能搜索引擎
  • 多卡训练核心技术详解
  • 柳州网站开发公司/aso应用商店优化
  • 网站开发语言有哪些/seochan是什么意思
  • 网络空间安全培训机构/关键词优化师
  • 建网站素材/商品关键词怎么优化
  • 做销售平台哪个网站好/深圳关键词推广
  • 用html表格做的网站/微信公众号平台官网