news 2026/4/22 19:31:39

Python元组类型及字典类型介绍和基本用法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python元组类型及字典类型介绍和基本用法

Python 中的元组(tuple)字典(dict)是两种非常核心且常用的内置数据类型。下面用清晰、结构化的方式给你介绍它们的定义、特点和最常用的基本用法(基于 Python 3.12+ 最新特性,2026 年视角无重大语法变化)。

1. 元组(tuple)

核心特点
  • 有序(有索引,从 0 开始)
  • 不可变(immutable):创建后不能增删改元素(但如果元素本身是可变对象如 list,里面的内容仍可改)
  • 允许重复元素
  • 用小括号()表示(最常见写法)
创建方式
# 常用写法t1=(1,2,3)t2=10,20,30# 括号可以省略(推荐只在简单场景省略)t3=()# 空元组t4=(88,)# 只有一个元素的元组,必须加逗号!否则会被认为是普通括号t5=tuple([1,2,3])# 从可迭代对象转换t6=tuple("hello")# ('h','e','l','l','o')t7=1,# (1,) 单元素也必须加逗号

最容易犯错的点

a=(5)# 这是 int 5,不是 tuple!b=(5,)# 这才是只有一个元素的 tuple
基本操作
t=(10,20,30,40,50,20)# 1. 取值 / 切片(和列表一样)print(t[0])# 10print(t[-1])# 50(倒数第一个)print(t[1:4])# (20, 30, 40)print(t[::2])# (10, 30, 50) 步长2# 2. 查找print(t.index(20))# 1 (返回第一个匹配的索引)print(t.count(20))# 2 (出现次数)# 3. 长度print(len(t))# 6# 4. 成员判断print(30int)# Trueprint(99notint)# True# 5. 拆包(非常常用!)a,b,c=(100,200,300)# a=100, b=200, c=300x,*y,z=(1,2,3,4,5)# x=1, y=[2,3,4], z=5 (* 收集多余元素)print(x,y,z)# 1 [2, 3, 4] 5
元组 vs 列表 对比(面试/工作中常问)
特性tuple(元组)list(列表)
是否可变不可变可变
性能更快(内存更省)稍慢
安全性更高(数据不变)可被意外修改
典型用途固定配置、函数多返回值、作为 dict 的 key需要增删改的场景
可哈希是(可做 dict key / set 元素)

2. 字典(dict)

核心特点(Python 3.7+ 之后)
  • 无序 → 有序:3.7 起插入顺序保证有序(最重要变化!)
  • 键值对(key-value)存储
  • 键必须唯一键必须可哈希(不可变类型:str、int、float、tuple、frozenset 等)
  • 值可以是任意类型
  • 大括号{}表示
创建方式
# 最常用d1={"name":"Alice","age":18,"city":"Shanghai"}# 空字典d2={}d3=dict()# 从键值对列表/元组创建d4=dict([("a",1),("b",2)])d5=dict(name="Bob",score=95,city="Beijing")# 关键字参数方式# 字典推导式(很常用)d6={i:i**2foriinrange(5)}# {0:0, 1:1, 2:4, 3:9, 4:16}
基本操作(最常用写法)
student={"name":"小明","age":20,"score":88}# 1. 取值(三种方式)print(student["name"])# 小明print(student.get("age"))# 20print(student.get("gender","未知"))# 未知(键不存在返回默认值)# 2. 新增 / 修改student["gender"]="男"# 新增student["score"]=95# 修改student.setdefault("class","一班")# 如果键不存在则添加,有则不动# 3. 删除delstudent["age"]# 删除指定键student.pop("score")# 删除并返回被删除的值student.pop("height",None)# 键不存在不报错student.clear()# 清空整个字典# 4. 判断键是否存在print("name"instudent)# True / Falseprint("height"notinstudent)# True# 5. 获取所有键/值/键值对print(student.keys())# dict_keys([...])print(student.values())# dict_values([...])print(student.items())# dict_items([('name','小明'), ...])# 6. 遍历(最常用三种方式)forkinstudent:print(k,student[k])fork,vinstudent.items():print(f"{k}{v}")# 7. 更新(合并字典)d1={"a":1,"b":2}d2={"b":99,"c":3}d1.update(d2)# d1 变成 {'a':1, 'b':99, 'c':3}
Python 3.9+ 新增好用的运算符(非常推荐)
d1={"a":1,"b":2}d2={"b":3,"c":4}# 合并(不修改原字典)d3=d1|d2# {'a':1, 'b':3, 'c':4}# 原地更新d1|=d2# d1 变成合并后的结果

总结一句话对比

  • 元组 tuple:像不可变的列表,主要用于固定、不变的数据集合、函数返回多个值、做字典的 key
  • 字典 dict:键值映射神器,查找速度极快(接近 O(1)),现代 Python 项目中使用频率最高的数据结构之一

如果你正在学 Python,建议优先熟练掌握
元组拆包 + 字典的 get()/setdefault()/items() 遍历 + 字典推导式 + | 合并运算符

有哪部分还想看更详细的示例(比如嵌套、排序、defaultdict、Counter 等进阶用法)?直接告诉我~

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

HashCheck终极教程:Windows文件完整性校验完全指南

HashCheck终极教程:Windows文件完整性校验完全指南 【免费下载链接】HashCheck HashCheck Shell Extension for Windows with added SHA2, SHA3, and multithreading; originally from code.kliu.org 项目地址: https://gitcode.com/gh_mirrors/ha/HashCheck …

作者头像 李华
网站建设 2026/4/23 13:19:07

WzComparerR2揭秘:如何构建专业级的冒险岛WZ文件逆向工程工具

WzComparerR2揭秘:如何构建专业级的冒险岛WZ文件逆向工程工具 【免费下载链接】WzComparerR2 Maplestory online Extractor 项目地址: https://gitcode.com/gh_mirrors/wz/WzComparerR2 作为一款专为冒险岛WZ文件设计的逆向工程工具,WzComparerR2…

作者头像 李华
网站建设 2026/4/23 13:19:06

科哥版Z-Image-Turbo日志在哪看?快速定位错误

科哥版Z-Image-Turbo日志在哪看?快速定位错误 1. 日志文件位置与查看方式 当你在使用“阿里通义Z-Image-Turbo WebUI图像快速生成模型 二次开发构建by科哥”时,如果遇到服务无法启动、图像生成失败或浏览器访问异常等问题,第一步就是查看日…

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

Windows硬件伪装终极指南:零基础掌握EASY-HWID-SPOOFER实战应用

Windows硬件伪装终极指南:零基础掌握EASY-HWID-SPOOFER实战应用 【免费下载链接】EASY-HWID-SPOOFER 基于内核模式的硬件信息欺骗工具 项目地址: https://gitcode.com/gh_mirrors/ea/EASY-HWID-SPOOFER 在数字隐私日益受到威胁的今天,硬件指纹追踪…

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

铜钟音乐:3步打造专属纯净听歌空间,告别复杂音乐应用

铜钟音乐:3步打造专属纯净听歌空间,告别复杂音乐应用 【免费下载链接】tonzhon-music 铜钟 (Tonzhon.com): 免费听歌; 没有直播, 社交, 广告, 干扰; 简洁纯粹, 资源丰富, 体验独特!(密码重置功能已回归) 项目地址: https://gitcode.com/Git…

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

麦橘超然实战案例:中小企业本地化AI绘画系统搭建步骤详解

麦橘超然实战案例:中小企业本地化AI绘画系统搭建步骤详解 1. 引言:为什么中小企业需要本地化AI绘画系统? 在内容为王的时代,视觉素材成了品牌传播的核心。但对大多数中小企业来说,专业设计团队成本高、外包效率低、沟…

作者头像 李华