news 2026/4/23 15:50:02

Python 入门必吃透:函数、列表与元组核心用法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python 入门必吃透:函数、列表与元组核心用法

Python 入门必吃透:函数、列表与元组核心用法

Python 的函数、列表和元组是初学者必须彻底掌握的三大核心概念。它们几乎出现在每一个 Python 程序中,理解透彻能让你写出更简洁、高效、可读性强的代码。下面从基础语法到进阶用法,一步步带你吃透它们。

1. 列表(List)——可变序列的王者

列表是 Python 中最常用、最灵活的序列类型,用方括号[]定义,支持存储任意类型的数据,且可变(可以增删改)。

# 创建列表fruits=["apple","banana","cherry"]numbers=[1,2,3,4,5]mixed=[1,"hello",True,3.14]# 常用操作fruits.append("orange")# 添加元素到末尾 → ['apple', 'banana', 'cherry', 'orange']fruits.insert(1,"grape")# 在索引1位置插入 → ['apple', 'grape', 'banana', ...]fruits.remove("banana")# 删除第一个匹配的元素popped=fruits.pop()# 删除并返回末尾元素 → 'orange'popped=fruits.pop(0)# 删除并返回索引0的元素 → 'apple'# 切片操作(超级强大!)print(fruits[1:4])# 从索引1到3 → ['grape', 'banana', 'cherry']print(fruits[:3])# 前3个print(fruits[2:])# 从第2个到最后print(fruits[::-1])# 反转列表# 修改元素fruits[0]="watermelon"# 列表推导式(优雅又高效)squares=[x**2forxinrange(10)]# [0, 1, 4, 9, ..., 81]evens=[xforxinrange(20)ifx%2==0]# 所有偶数

关键点

  • 列表是可变的,适合需要频繁增删改的场景。
  • 支持负索引:fruits[-1]表示最后一个元素。
  • 列表可以嵌套:matrix = [[1,2], [3,4], [5,6]]
2. 元组(Tuple)——不可变的轻量级序列

元组用圆括号()定义,创建后不可修改,比列表更轻量、更安全,常用于固定数据。

# 创建元组point=(3,4)colors=("red","green","blue")single=(42,)# 只有一个元素时必须加逗号!empty=()# 访问同列表print(point[0])# 3print(colors[1:])# ('green', 'blue')# 解包(元组最强大用法之一!)x,y=point# x=3, y=4a,b,c=colors# a="red", b="green", c="blue"# 交换变量(Python 独有优雅写法)a,b=b,a# 函数返回多个值(实际上返回的是元组)defget_user_info():return"Alice",25,"Beijing"name,age,city=get_user_info()

关键点

  • 元组不可变 → 可作为字典的 key(列表不行!)
  • 元组比列表占用内存更少,访问速度更快
  • 单元素元组必须写逗号:(42,)而不是(42)
3. 函数(Function)——代码复用的基石

函数是组织代码、提高可读性和复用性的核心工具。

# 基本定义defgreet(name):print(f"Hello,{name}!")greet("Alice")# 带返回值defadd(a,b):returna+b result=add(3,5)# 8# 默认参数(注意:默认参数只求值一次!)defsay_hello(name="World"):print(f"Hello,{name}!")say_hello()# Hello, World!say_hello("Bob")# Hello, Bob!# 可变参数defsum_all(*args):# args 是元组returnsum(args)print(sum_all(1,2,3,4,5))# 15defprint_info(**kwargs):# kwargs 是字典forkey,valueinkwargs.items():print(f"{key}:{value}")print_info(name="Alice",age=25,city="Beijing")# 结合使用defcomplex_func(a,b,*args,option="default",**kwargs):print(a,b,args,option,kwargs)complex_func(1,2,3,4,x=10,y=20,option="custom")

关键点

  • 参数顺序:位置参数 →*args→ 关键字参数 →**kwargs
  • 函数是一等公民:可以赋值、作为参数传递
  • 匿名函数(lambda):
    squares=list(map(lambdax:x**2,range(10)))
4. 三者结合的实战示例
# 统计学生成绩students=[("Alice",[88,92,85]),("Bob",[76,81,89]),("Charlie",[95,90,93])]defcalculate_average(scores):returnsum(scores)/len(scores)# 使用列表推导式 + 元组解包 + 函数result=sorted([(name,round(calculate_average(scores),2))forname,scoresinstudents],key=lambdax:x[1],reverse=True)print(result)# [('Charlie', 92.67), ('Alice', 88.33), ('Bob', 82.0)]
5. 总结对比表
特性列表 [ ]元组 ( )函数 def / lambda
可变性可变不可变-
定义符号[]()def 或 lambda
性能稍慢(可变开销)更快、更省内存-
典型用途动态集合、栈/队列固定数据、字典 key、返回多值代码复用、逻辑封装
是否可哈希不可(不能做 dict key)-
支持推导式支持支持(生成器表达式更常见)-
结语
  • 列表:需要修改数据时用。
  • 元组:数据固定不变、需要作为 key 或追求性能时用。
  • 函数:任何重复逻辑都要封装成函数,结合默认参数、可变参数写出灵活接口。

真正吃透这三者,你就迈入了 Python 中级玩家的行列。建议多动手练习,尤其是列表推导式、元组解包和函数参数组合,它们是 Python 代码优雅的灵魂!

下一步可以学习:字典、集合、生成器、装饰器——继续加油!🚀

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

揭秘阿里通义黑科技:如何用预配置镜像10分钟搭建Z-Image-Turbo开发环境

揭秘阿里通义黑科技:如何用预配置镜像10分钟搭建Z-Image-Turbo开发环境 Z-Image-Turbo是阿里通义实验室推出的高性能图像生成模型,仅需8步推理即可实现亚秒级图像生成,特别适合需要快速验证创意的开发者或研究人员。本文将手把手教你如何通过…

作者头像 李华
网站建设 2026/4/20 7:01:49

2026教资报名全流程(新人必看)不按要求=放弃考试 ❌

2026教资报名全流程(新人必看)不按要求放弃考试 ❌一、报名时间参考往年规律,2026上半年教资笔试报名时间大概率为1月9日-12日,请提前准备材料~事项时间说明笔试报名1月9日-12日各省截止时间略有差异笔试缴费截止1月14日24:00逾期…

作者头像 李华
网站建设 2026/4/11 21:13:59

多回路计量技术在企业低压配电系统中的应用实践

安科瑞刘鸿鹏摘要随着企业用电规模持续扩大,配电系统结构日益复杂,传统以“总表统计”为核心的用电管理模式已难以满足精细化管理与安全运行的需求。多回路、多负载的用电结构,使得企业在能耗分析、故障定位及运维管理方面面临较大挑战。本文…

作者头像 李华
网站建设 2026/4/23 12:34:35

揭秘8步超速生成:如何用预配置镜像快速体验Z-Image-Turbo

揭秘8步超速生成:如何用预配置镜像快速体验Z-Image-Turbo 如果你对AI图像生成感兴趣,一定听说过Z-Image-Turbo这个突破性的模型。它仅需8步就能生成高质量图像,速度远超传统扩散模型。本文将带你快速上手这个强大的工具,无需复杂配…

作者头像 李华
网站建设 2026/4/23 11:14:20

Z-Image-Turbo模型融合实战:基于云端GPU的混合创作环境搭建

Z-Image-Turbo模型融合实战:基于云端GPU的混合创作环境搭建 对于数字艺术家来说,将Z-Image-Turbo与其他AI模型结合使用可以创造出独特的艺术风格,但技术复杂性往往让人望而却步。本文将介绍如何利用预配置好的云端GPU环境,快速搭建…

作者头像 李华
网站建设 2026/4/18 9:47:58

非光滑复合优化加速邻近梯度算法【附代码】

✅ 博主简介:擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导,毕业论文、期刊论文经验交流。✅成品或者定制,扫描文章底部微信二维码。(1) 自适应非单调步长策略与惯性加速机制设计邻近梯度算法在求解非光滑复合优化问题时…

作者头像 李华