news 2026/6/15 16:09:57

Python数列表完全指南:从基础到实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python数列表完全指南:从基础到实战

Python数列表完全指南:从基础到实战

在Python编程中,列表(List)是最常用的数据结构之一,而数列表(元素为数字的列表)更是贯穿于数据分析、算法实现、数值计算等多个领域。本文将从数列表的基础定义出发,详细讲解其创建、增删改查操作,再结合实战案例演示数列表的常见应用,所有代码均可直接复制运行,最后附上文档下载说明。

一、什么是数列表?

数列表是Python列表的一种特殊形式,其所有元素均为数字类型(整数int、浮点数float、复数complex等)。它继承了列表的有序性、可变性、可重复性等特性,同时因元素为数字,常被用于各类数值运算。

示例:

# 整数列表int_list=[1,2,3,4,5]# 浮点数列表float_list=[1.2,3.4,5.6]# 混合数字类型列表mix_num_list=[1,2.3,4+5j]# 空数列表empty_num_list=[]print(type(int_list))# <class 'list'>print(type(mix_num_list[2]))# <class 'complex'>

二、数列表的基础操作(Python实现)

2.1 创建数列表

创建数列表的方式主要有直接赋值、列表推导式、range函数转换、生成器表达式等,不同方式适用于不同场景。

# 方式1:直接赋值(适用于元素较少的情况)num_list1=[10,20,30,40]# 方式2:列表推导式(适用于批量生成有规律的数列表)# 生成1-10的平方列表num_list2=[x**2forxinrange(1,11)]print(num_list2)# [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]# 生成10以内的偶数列表num_list3=[xforxinrange(10)ifx%2==0]print(num_list3)# [0, 2, 4, 6, 8]# 方式3:range函数转换(适用于生成连续整数列表)num_list4=list(range(5,15))# 5到14的连续整数print(num_list4)# [5, 6, 7, 8, 9, 10, 11, 12, 13, 14]# 方式4:生成器表达式(适用于大量数据,节省内存)num_list5=list(x*3forxinrange(1,6))print(num_list5)# [3, 6, 9, 12, 15]# 方式5:通过numpy库生成(适用于科学计算,需先安装numpy)# pip install numpyimportnumpyasnp num_list6=list(np.linspace(0,1,5))# 0到1之间均匀分布的5个数字print(num_list6)# [0.0, 0.25, 0.5, 0.75, 1.0]

2.2 访问数列表元素

通过索引(下标)访问,Python列表索引从0开始,支持正向索引和反向索引(从-1开始),也可通过切片获取子列表。

num_list=[1,3,5,7,9,11]# 正向索引访问单个元素print(num_list[0])# 1(第一个元素)print(num_list[3])# 7(第四个元素)# 反向索引访问单个元素print(num_list[-1])# 11(最后一个元素)print(num_list[-3])# 7(倒数第三个元素)# 切片获取子列表:list[start:end:step],左闭右开print(num_list[1:4])# [3, 5, 7](索引1到3的元素)print(num_list[:3])# [1, 3, 5](从开头到索引2的元素)print(num_list[4:])# [9, 11](从索引4到结尾的元素)print(num_list[::2])# [1, 5, 9](步长为2,间隔取元素)print(num_list[::-1])# [11, 9, 7, 5, 3, 1](反转列表)

2.3 修改数列表元素

列表是可变对象,可通过索引直接修改单个元素,也可通过切片修改多个元素。

num_list=[10,20,30,40,50]# 修改单个元素num_list[2]=35print(num_list)# [10, 20, 35, 40, 50]# 修改多个元素(切片赋值)num_list[1:3]=[25,36]print(num_list)# [10, 25, 36, 40, 50]# 插入多个元素(通过切片赋值实现)num_list[3:3]=[45,48]print(num_list)# [10, 25, 36, 45, 48, 40, 50]

2.4 增加数列表元素

常用方法有append(末尾添加单个元素)、extend(末尾添加多个元素)、insert(指定位置插入元素)。

num_list=[1,2,3]# append:末尾添加单个元素num_list.append(4)print(num_list)# [1, 2, 3, 4]# extend:末尾添加多个元素(接收可迭代对象)num_list.extend([5,6,7])print(num_list)# [1, 2, 3, 4, 5, 6, 7]# insert:指定索引插入元素(insert(索引, 元素))num_list.insert(2,2.5)print(num_list)# [1, 2, 2.5, 3, 4, 5, 6, 7]

2.5 删除数列表元素

常用方法有del(按索引/切片删除)、pop(删除并返回指定索引元素,默认末尾)、remove(按元素值删除,删除第一个匹配项)、clear(清空列表)。

num_list=[1,2,3,4,5,3,6]# del:按索引删除单个元素delnum_list[3]print(num_list)# [1, 2, 3, 5, 3, 6]# del:按切片删除多个元素delnum_list[1:3]print(num_list)# [1, 5, 3, 6]# pop:删除并返回末尾元素last_num=num_list.pop()print(last_num)# 6print(num_list)# [1, 5, 3]# pop:删除并返回指定索引元素mid_num=num_list.pop(1)print(mid_num)# 5print(num_list)# [1, 3]# remove:按元素值删除(删除第一个3)num_list.remove(3)print(num_list)# [1]# clear:清空列表num_list.clear()print(num_list)# []

三、数列表的常用数值运算

由于数列表元素为数字,可通过Python内置函数或第三方库实现求和、求平均值、求最值等数值运算。

num_list=[2,4,6,8,10]# 1. 求和:sum()total=sum(num_list)print(total)# 30# 2. 求最大值:max()max_num=max(num_list)print(max_num)# 10# 3. 求最小值:min()min_num=min(num_list)print(min_num)# 2# 4. 求平均值:sum()/len()avg_num=sum(num_list)/len(num_list)print(avg_num)# 6.0# 5. 求方差、标准差(需用到statistics库)importstatistics# 方差variance=statistics.variance(num_list)print(variance)# 8.0# 标准差std_dev=statistics.stdev(num_list)print(std_dev)# 2.8284271247461903# 6. 排序:sort()(原地排序)或sorted()(返回新列表)num_list2=[5,2,9,1,5,6]# 原地升序排序num_list2.sort()print(num_list2)# [1, 2, 5, 5, 6, 9]# 原地降序排序num_list2.sort(reverse=True)print(num_list2)# [9, 6, 5, 5, 2, 1]# 返回新的排序列表(原列表不变)num_list3=[3,1,4,1,5]sorted_list=sorted(num_list3)print(sorted_list)# [1, 1, 3, 4, 5]print(num_list3)# [3, 1, 4, 1, 5]

四、数列表实战案例

案例1:计算斐波那契数列前10项

斐波那契数列定义:前两项为1,从第三项开始,每一项等于前两项之和。

# 初始化斐波那契数列前两项fib_list=[1,1]# 生成前10项(已存在2项,需再生成8项)foriinrange(2,10):next_num=fib_list[i-1]+fib_list[i-2]fib_list.append(next_num)print("斐波那契数列前10项:",fib_list)# 输出:斐波那契数列前10项: [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

案例2:筛选列表中的质数

质数:大于1的自然数,除了1和它本身以外不再有其他因数。

defis_prime(n):"""判断一个数是否为质数"""ifn<=1:returnFalseifn==2:returnTrueifn%2==0:returnFalse# 只需判断到根号nforiinrange(3,int(n**0.5)+1,2):ifn%i==0:returnFalsereturnTrue# 原始数列表num_list=[2,3,4,5,6,7,8,9,10,11,12,13,14,15]# 筛选质数列表prime_list=[xforxinnum_listifis_prime(x)]print("原始列表:",num_list)print("筛选后的质数列表:",prime_list)# 输出:原始列表: [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]# 筛选后的质数列表: [2, 3, 5, 7, 11, 13]

案例3:数列表的矩阵转置(二维数列表)

二维数列表可表示矩阵,矩阵转置即行变列、列变行。

# 定义一个3x3的矩阵(二维数列表)matrix=[[1,2,3],[4,5,6],[7,8,9]]# 方法1:通过列表推导式实现转置transposed_matrix=[[row[i]forrowinmatrix]foriinrange(len(matrix[0]))]# 方法2:通过zip函数实现转置(返回元组,需转换为列表)transposed_matrix2=list(map(list,zip(*matrix)))print("原始矩阵:")forrowinmatrix:print(row)print("转置后的矩阵(方法1):")forrowintransposed_matrix:print(row)print("转置后的矩阵(方法2):")forrowintransposed_matrix2:print(row)# 输出:# 原始矩阵:# [1, 2, 3]# [4, 5, 6]# [7, 8, 9]# 转置后的矩阵(方法1):# [1, 4, 7]# [2, 5, 8]# [3, 6, 9]# 转置后的矩阵(方法2):# [1, 4, 7]# [2, 5, 8]# [3, 6, 9]

五、总结

数列表是Python中处理数值数据的基础工具,掌握其创建、访问、修改、增删等基础操作是核心,结合内置函数和第三方库(如numpy、statistics)可实现复杂的数值运算。本文的案例和代码覆盖了数列表的核心应用场景,希望能帮助大家快速掌握并灵活运用。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 12:26:43

虚拟化妆教程:M2FP精准面部定位技术

虚拟化妆教程&#xff1a;M2FP精准面部定位技术 在虚拟试妆、AR滤镜、数字人生成等前沿应用中&#xff0c;精准的面部与人体语义分割是实现自然交互效果的核心前提。传统方法往往局限于单人场景或对遮挡、姿态变化敏感&#xff0c;难以满足真实世界复杂环境下的需求。而基于 M2…

作者头像 李华
网站建设 2026/6/15 13:39:25

开发者必备:5个高可用翻译API镜像推荐(含GitHub链接)

开发者必备&#xff1a;5个高可用翻译API镜像推荐&#xff08;含GitHub链接&#xff09; 在AI驱动的全球化背景下&#xff0c;高质量、低延迟的中英翻译服务已成为开发者构建多语言应用的核心需求。无论是国际化产品界面、技术文档本地化&#xff0c;还是跨语言内容生成&#…

作者头像 李华
网站建设 2026/6/15 12:27:13

智能广告投放优化:M2FP人群画像

智能广告投放优化&#xff1a;M2FP人群画像 在精准营销与智能广告系统中&#xff0c;用户视觉特征的深度理解正成为提升转化率的关键突破口。传统的人群画像多依赖于行为数据、设备信息和点击偏好&#xff0c;缺乏对用户外貌特征、穿着风格等视觉语义信息的有效挖掘。而随着计…

作者头像 李华
网站建设 2026/6/9 20:15:12

Consistency模型:卧室图像秒生成的AI新工具

Consistency模型&#xff1a;卧室图像秒生成的AI新工具 【免费下载链接】diffusers-cd_bedroom256_l2 项目地址: https://ai.gitcode.com/hf_mirrors/openai/diffusers-cd_bedroom256_l2 导语&#xff1a;OpenAI推出的diffusers-cd_bedroom256_l2模型&#xff0c;基于C…

作者头像 李华
网站建设 2026/6/15 13:39:26

DeepSeek-R1-Distill-Qwen-14B:14B推理性能跃升新境界

DeepSeek-R1-Distill-Qwen-14B&#xff1a;14B推理性能跃升新境界 【免费下载链接】DeepSeek-R1-Distill-Qwen-14B 探索推理新境界&#xff0c;DeepSeek-R1-Distill-Qwen-14B模型以创新强化学习技术&#xff0c;实现思维自主演进&#xff0c;性能逼近顶尖水平&#xff0c;为研究…

作者头像 李华
网站建设 2026/6/15 13:40:58

大模型翻译卡顿?试试这款CPU优化的开源镜像,响应快90%

大模型翻译卡顿&#xff1f;试试这款CPU优化的开源镜像&#xff0c;响应快90% &#x1f310; AI 智能中英翻译服务 (WebUI API) 在多语言协作日益频繁的今天&#xff0c;高质量、低延迟的中英翻译能力已成为开发者、内容创作者乃至企业团队的核心需求。然而&#xff0c;许多…

作者头像 李华