【python基础知识】列表简介

文章目录

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

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

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

创建列表

python 复制代码
# 空列表
empty_list = []

# 包含不同数据类型的列表
mixed_list = [1, "apple", True, 3.14]

# 嵌套列表
nested_list = [[1, 2], [3, 4]]

添加元素

python 复制代码
fruits = ["apple", "banana"]

# 在末尾添加元素
fruits.append("cherry")  # 结果:['apple', 'banana', 'cherry']

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

删除元素

python 复制代码
# 根据索引删除
popped = fruits.pop(1)  # 删除 'grape',并返回该元素

# 根据值删除(第一个匹配项)
fruits.remove("apple")  # 结果:['banana', 'cherry']

# 清空列表
fruits.clear()  # 结果:[]

修改元素

python 复制代码
numbers = [1, 2, 3]
numbers[1] = 20  # 结果:[1, 20, 3]

查询元素

python 复制代码
# 判断元素是否存在
if "apple" in fruits:
    print("Found!")

# 获取元素索引
index = fruits.index("banana")  # 返回 0

# 统计元素出现次数
count = fruits.count("cherry")  # 返回 1

列表排序技巧

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

原地排序(修改原列表)

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']

返回新列表的排序

python 复制代码
numbers = [3, 1, 4]
sorted_numbers = sorted(numbers)  # 原列表不变,返回 [1, 3, 4]

# 降序
sorted_numbers = sorted(numbers, reverse=True)  # 返回 [4, 3, 1]

遍历列表(for循环)

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

基本遍历

python 复制代码
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

获取索引和值(enumerate)

python 复制代码
for index, fruit in enumerate(fruits):
    print(f"Index {index}: {fruit}")

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

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

切片操作与列表复制

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

切片语法

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]

列表复制

python 复制代码
# 错误方式:仅创建引用
list1 = [1, 2, 3]
list2 = list1  # list2和list1指向同一对象

# 正确方式:使用切片复制
list3 = list1[:]  # 创建独立副本

# 或使用copy()方法
list4 = list1.copy()  # 效果同上

深拷贝与浅拷贝

python 复制代码
# 浅拷贝(只复制一层)
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代码的基础。建议通过实际项目练习来加深理解,比如处理数据集合、实现算法等。

相关推荐
bubiyoushang88842 分钟前
matlab雷达定位仿真
开发语言·matlab
lichuangcsdn1 小时前
利用python工具you-get下载网页的视频文件
python
Ronin-Lotus1 小时前
深度学习篇---Pytorch框架下OC-SORT实现
人工智能·pytorch·python·深度学习·oc-sort
雾迟sec1 小时前
TensorFlow 的基本概念和使用场景
人工智能·python·tensorflow
yezipi耶不耶2 小时前
Rust入门之并发编程基础(一)
开发语言·后端·rust
烛阴2 小时前
从零打造属于你的Python容器类型:全流程图解+实战案例
前端·python
Y3174292 小时前
Python Day36 学习
python·学习·机器学习
qwetyunk2 小时前
vr中风--数据处理模型搭建与训练
python·机器学习·vr
zdy12635746882 小时前
Python打卡第38天
python
水银嘻嘻3 小时前
02 APP 自动化-Appium 运行原理详解
python·appium·自动化