找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1114

积分

0

好友

140

主题
发表于 2025-12-24 14:51:38 | 查看: 78| 回复: 0

Python列表从入门到精通:创建、访问、操作与生成式完整指南 - 图片 - 1
列表(List)是Python中最核心、最灵活的内置数据结构之一。本文将全面解析Python列表,涵盖从基础概念、元素访问、更新操作,到常用函数、多维列表以及高效的列表生成式等核心知识点,并辅以多个实战练习,助你彻底掌握这一强大的数据容器。

一、列表概述

列表是Python中一种有序、可变的序列结构,用于存储一系列元素的集合。其核心特点如下:

  • 结构:使用方括号 [] 定界,元素间用半角逗号分隔。
  • 元素类型:列表支持“多态”,即其元素可以是任何数据类型,且同一列表内的元素类型无需一致。
  • 灵活性:列表甚至可以嵌套其他列表,构成更复杂的数据结构。

基础示例

list1 = [1, 5, 7, 3]               # 纯整数列表
list2 = [1, ‘李洪文’, ‘男’, 18]     # 混合类型列表
stuff = [2 , ‘hello’ , 2.718 , [1 , 2 , 3]] # 嵌套列表

二、访问列表元素

1、通过索引访问单个列表元素

列表元素可通过索引访问,支持正向索引(从0开始)和逆向索引(从-1开始)。

fruits = [‘apple‘, ‘banana‘, ‘cherry‘]
print(fruits[0])   # 输出: apple
print(fruits[-1])  # 输出: cherry

2、通过切片运算访问列表元素

切片操作用于获取列表的一个子序列,语法为 list[start:stop:step]

nums = [0, 1, 2, 3, 4, 5, 6]
print(nums[1:4])    # 输出: [1, 2, 3]
print(nums[::2])    # 输出: [0, 2, 4, 6] (步长为2)

三、更新列表元素

列表是可变对象,创建后可对其元素进行增、删、改操作。

(一)追加元素

使用 append() 方法在列表末尾添加单个元素。

fruits.append(‘orange‘) # fruits 变为 [‘apple‘, ‘banana‘, ‘cherry‘, ‘orange‘]

(二)修改元素

直接通过索引赋值来修改指定位置的元素。

fruits[1] = ‘blueberry‘ # fruits 变为 [‘apple‘, ‘blueberry‘, ‘cherry‘]

(三)删除元素

1、使用remove()方法删除列表指定元素 - 按值删除

删除第一个匹配到的指定值。

fruits.remove(‘banana‘)

2、使用del语句删除列表指定元素 - 按索引删除

del fruits[0] # 删除索引为0的元素

(四)插入元素

使用 insert(index, element) 方法在指定索引前插入元素。

fruits.insert(1, ‘mango‘) # 在索引1处插入 ‘mango‘

四、列表基本操作

(一)加法操作 - 实际上是连接操作

+ 运算符用于连接两个列表,生成一个新列表。

list_a = [1, 2]
list_b = [3, 4]
list_c = list_a + list_b # list_c 为 [1, 2, 3, 4]

(二)乘法操作 - 实际上是重复操作

* 运算符用于重复列表元素。

list_d = [‘Hi‘] * 4 # list_d 为 [‘Hi‘, ‘Hi‘, ‘Hi‘, ‘Hi‘]

(三)检查成员 - 实际上是查询操作

使用 innot in 关键字判断元素是否存在于列表中。

print(‘apple‘ in fruits) # 输出: True

五、作用于列表的常用函数

Python提供了一些内置函数用于操作列表。

  • len(list):返回列表长度(元素个数)。
  • max(list) / min(list):返回列表中最大/最小的元素。
  • sum(list):对列表中的数值型元素求和。

补充:可以使用 dir(__builtins__) 查看所有Python内置对象和函数。

课堂练习:歌手得分计算程序

计算一个歌手的最终得分(去掉一个最高分和一个最低分后的平均分)。

scores = [9.5, 8.0, 9.0, 9.5, 8.5, 7.0, 9.0]
scores.remove(max(scores))
scores.remove(min(scores))
final_score = sum(scores) / len(scores)
print(f“最终得分: {final_score:.2f}“)

在此基础上,可以扩展功能,例如确保评委输入分数在有效范围内,或循环处理多个歌手的分数,这涉及基础算法与逻辑控制的应用。

六、列表常用方法

除了上文提到的 append(), insert(), remove(),列表还有其他实用方法:

  • copy():返回列表的一个浅拷贝。
  • index(x):返回元素 x 第一次出现的索引,若不存在则引发 ValueError。
  • count(x):返回元素 x 在列表中出现的次数。
  • sort():对原列表进行排序。
  • reverse():将列表中的元素反向排列。

七、二维列表

(一)二维列表概念

当列表的元素也是列表时,就构成了二维列表(可类比表格或矩阵)。

(二)创建二维列表

1、通过追加一维列表来生成二维列表

matrix = []
matrix.append([1, 2, 3])
matrix.append([4, 5, 6])

2、通过直接赋值生成二维列表

matrix = [[1, 2, 3], [4, 5, 6]]

(三)访问二维列表

1、访问行

row = matrix[0] # 获取第一行: [1, 2, 3]

2、访问元素

element = matrix[1][2] # 获取第二行第三列的元素: 6

八、列表生成式

列表生成式(List Comprehension)提供了一种简洁、高效创建列表的方法,是Python编程的特色与优势之一。

(一)列表生成式概念

其基本语法为:[expression for item in iterable if condition]

(二)案例演示

任务1:分离奇偶数列表

original = [1, 2, 3, 4, 5, 6]
evens = [x for x in original if x % 2 == 0] # [2, 4, 6]
odds = [x for x in original if x % 2 != 0]  # [1, 3, 5]

任务2:列表元素翻倍(两种方式)

# 传统循环
doubled_traditional = []
for x in original:
    doubled_traditional.append(x * 2)

# 列表生成式
doubled_comprehension = [x * 2 for x in original] # 更简洁

任务3:条件判断与复杂转换

result = [x * 10 if x % 2 != 0 else x * 5 for x in original]
# 结果: [10, 10, 30, 20, 50, 30]

九、课后作业

  1. 元素查询:编写函数,在一个一维列表中线性查询某个数是否存在,并返回其所有索引位置。
  2. 斐波那契数列:使用列表存储并输出斐波那契数列的前30项,要求每行输出5个数。这是经典的算法与数列练习题。
  3. 杨辉三角:利用二维列表(数组)打印出指定层数的杨辉三角形。这综合运用了Python的列表嵌套和循环控制能力。

通过系统学习列表及其高级特性,你将为处理更复杂的数据结构与算法问题打下坚实基础。




上一篇:VSCode开发环境搭建教程:在Ubuntu上配置STM32单片机开发与调试
下一篇:Android APP抓包与frida脱壳实战:破解SSL单双向认证及Root检测绕过
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-9 10:24 , Processed in 0.305243 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表