Python3入门指南Python语言的特点和实际应用Python3环境搭建配置VSCode进行Python开发Python基础语法Python变量与数据类型Python数据类型转换Python解释器使用Python注释使用Python运算符Python数字类型Python字符串操作Python列表操作Python元组使用Python字典使用Python集合使用Python条件控制详解Python循环语句详解Python编程入门实践Python推导式详解Python迭代器和生成器Python with语句详解Python函数详解Python lambda(匿名函数)Python装饰器Python数据结构Python模块和包使用Python中__name__和__main__的用法Python输入输出:从基础到文件操作Python文件操作Python OS模块使用Python错误和异常处理Python面向对象编程Python命名空间和作用域Python虚拟环境:venv详细教程Python类型注解Python标准库常用模块Python正则表达式Python CGI编程Python MySQL(mysql-connector驱动)Python MySQL(PyMySQL驱动)Python网络编程Python发送邮件Python多线程编程Python XML解析Python JSON解析Python日期和时间处理Python操作MongoDBPython urllib库使用Python uWSGI 安装与配置Python pip包管理工具Python operator模块Python math模块Python requests模块HTTP请求Python random模块Python OpenAI库Python AI绘画制作Python statistics模块Python hashlib模块:哈希加密Python量化交易Python pyecharts数据可视化Python Selenium网页自动化Python BeautifulSoup网页数据提取Python Scrapy爬虫框架Python Markdown转HTMLPython sys模块Python Pickle模块:数据存储Python subprocess模块Python queue队列模块Python StringIO内存文件操作Python logging日志记录Python datetime日期时间处理Python re正则表达式Python csv表格数据处理Python threading 多线程编程Python asyncio 异步编程Python PyQt 图形界面开发Python 应用方向和常用库框架

Python列表操作

在Python编程中,列表是最常用的数据结构。列表就像是一个容器,可以存放多个数据项。这些数据项可以是数字、文字、甚至其他列表。


什么是列表

列表是Python中的一种序列类型,用方括号[]表示。列表中的每个元素都有对应的位置编号,称为索引。第一个元素的索引是0,第二个是1,依此类推。

创建列表很简单,把元素放在方括号里,用逗号隔开:

# 创建各种列表
fruits = ['苹果', '香蕉', '橙子']          # 字符串列表
scores = [85, 92, 78, 90]                # 数字列表
mixed = ['张三', 25, '北京', 175.5]       # 混合类型列表
empty_list = []                          # 空列表


访问列表元素

通过索引可以访问列表中的元素:

colors = ['红色', '绿色', '蓝色', '黄色', '白色']

print(colors[0])   # 输出:红色
print(colors[1])   # 输出:绿色
print(colors[2])   # 输出:蓝色

也可以使用负数索引,从列表末尾开始计数:

colors = ['红色', '绿色', '蓝色', '黄色', '白色']

print(colors[-1])  # 输出:白色(最后一个元素)
print(colors[-2])  # 输出:黄色(倒数第二个)
print(colors[-3])  # 输出:蓝色(倒数第三个)


列表切片

可以获取列表的一部分,这叫做切片:

numbers = [10, 20, 30, 40, 50, 60, 70, 80, 90]

print(numbers[0:4])    # 输出:[10, 20, 30, 40]
print(numbers[2:])     # 输出:[30, 40, 50, 60, 70, 80, 90]
print(numbers[:3])     # 输出:[10, 20, 30]
print(numbers[1:-2])   # 输出:[20, 30, 40, 50, 60, 70]


修改列表

列表中的元素可以修改:

students = ['张三', '李四', '王五']

# 修改元素
students[1] = '赵六'
print(students)  # 输出:['张三', '赵六', '王五']

# 添加元素
students.append('钱七')
print(students)  # 输出:['张三', '赵六', '王五', '钱七']


删除列表元素

删除列表元素有几种方法:

fruits = ['苹果', '香蕉', '橙子', '西瓜', '葡萄']

# 使用del语句
del fruits[1]
print(fruits)  # 输出:['苹果', '橙子', '西瓜', '葡萄']

# 使用remove方法
fruits.remove('西瓜')
print(fruits)  # 输出:['苹果', '橙子', '葡萄']

# 使用pop方法
last_fruit = fruits.pop()
print(last_fruit)  # 输出:葡萄
print(fruits)      # 输出:['苹果', '橙子']


列表运算

列表支持多种运算:

list1 = [1, 2, 3]
list2 = [4, 5, 6]

# 列表连接
combined = list1 + list2
print(combined)  # 输出:[1, 2, 3, 4, 5, 6]

# 列表重复
repeated = list1 * 3
print(repeated)  # 输出:[1, 2, 3, 1, 2, 3, 1, 2, 3]

# 检查元素是否存在
print(2 in list1)  # 输出:True
print(7 in list1)  # 输出:False


列表长度和极值

numbers = [45, 23, 78, 12, 89, 34]

print(len(numbers))  # 列表长度:6
print(max(numbers))  # 最大值:89
print(min(numbers))  # 最小值:12


常用列表方法

Python提供了很多处理列表的方法:

# 添加元素
fruits = ['苹果', '香蕉']
fruits.append('橙子')        # 末尾添加
fruits.insert(1, '葡萄')     # 指定位置插入
print(fruits)  # 输出:['苹果', '葡萄', '香蕉', '橙子']

# 扩展列表
more_fruits = ['西瓜', '芒果']
fruits.extend(more_fruits)
print(fruits)  # 输出:['苹果', '葡萄', '香蕉', '橙子', '西瓜', '芒果']

# 查找元素
print(fruits.index('香蕉'))  # 输出:2

# 统计出现次数
numbers = [1, 2, 2, 3, 2, 4]
print(numbers.count(2))  # 输出:3


排序和反转

# 数字排序
scores = [85, 92, 78, 90, 88]
scores.sort()
print(scores)  # 输出:[78, 85, 88, 90, 92]

# 字符串排序
names = ['王五', '张三', '李四']
names.sort()
print(names)  # 输出:['张三', '李四', '王五']

# 反转列表
numbers = [1, 2, 3, 4, 5]
numbers.reverse()
print(numbers)  # 输出:[5, 4, 3, 2, 1]


嵌套列表

列表中可以包含其他列表:

# 创建嵌套列表(二维列表)
class_scores = [
    ['张三', 85, 92, 78],
    ['李四', 90, 88, 95],
    ['王五', 76, 85, 80]
]

# 访问嵌套列表元素
print(class_scores[0])      # 输出:['张三', 85, 92, 78]
print(class_scores[0][1])   # 输出:85
print(class_scores[1][0])   # 输出:李四


遍历列表

使用循环处理列表中的每个元素:

fruits = ['苹果', '香蕉', '橙子', '葡萄']

# 遍历元素
for fruit in fruits:
    print(fruit)

# 遍历索引和元素
for index, fruit in enumerate(fruits):
    print(f"第{index}个水果是:{fruit}")


列表复制

复制列表时需要注意:

# 浅拷贝(不推荐)
original = [1, 2, 3]
copy_bad = original
copy_bad[0] = 99
print(original)  # 输出:[99, 2, 3](原列表也被修改)

# 正确复制
original = [1, 2, 3]
copy_good = original.copy()
copy_good[0] = 99
print(original)  # 输出:[1, 2, 3](原列表不变)


实际应用示例

# 学生成绩管理
students = []

# 添加学生信息
students.append(['张三', 85, 92, 78])
students.append(['李四', 90, 88, 95])
students.append(['王五', 76, 85, 80])

# 计算每个学生的平均分
for student in students:
    name = student[0]
    scores = student[1:]
    average = sum(scores) / len(scores)
    print(f"{name}的平均分是:{average:.1f}")

# 筛选优秀学生(平均分85以上)
excellent_students = []
for student in students:
    scores = student[1:]
    average = sum(scores) / len(scores)
    if average >= 85:
        excellent_students.append(student[0])

print(f"优秀学生:{excellent_students}")


列表推导式

创建列表的简洁方法:

# 创建1到10的平方列表
squares = [x**2 for x in range(1, 11)]
print(squares)  # 输出:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

# 筛选偶数
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
evens = [x for x in numbers if x % 2 == 0]
print(evens)  # 输出:[2, 4, 6, 8, 10]


学习建议

要熟练掌握列表操作,建议:

  1. 多练习列表的创建和基本操作

  2. 熟悉常用的列表方法

  3. 学会使用列表推导式

  4. 在实际项目中应用列表

记住,列表是Python编程中最常用的数据结构。开始可能觉得方法很多,但随着实践的增加,你会自然掌握这些技能。编程重在实践,多写代码就能进步。

本文内容仅供个人学习/研究/参考使用,不构成任何决策建议或专业指导。分享/转载时请标明原文来源,同时请勿将内容用于商业售卖、虚假宣传等非学习用途哦~感谢您的理解与支持!

链接: https://fly63.com/course/36_2084

目录选择