news 2026/2/2 3:05:45

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/2/1 4:10:36

Silk v3音频编解码实战指南:解决跨平台兼容难题

Silk v3音频编解码实战指南:解决跨平台兼容难题 【免费下载链接】silk-v3-decoder [Skype Silk Codec SDK]Decode silk v3 audio files (like wechat amr, aud files, qq slk files) and convert to other format (like mp3). Batch conversion support. 项目地址…

作者头像 李华
网站建设 2026/2/1 14:41:45

Live Avatar降本部署指南:单GPU+CPU offload低成本方案

Live Avatar降本部署指南:单GPUCPU offload低成本方案 1. 背景与挑战:为什么80GB显存成了硬门槛? Live Avatar是由阿里联合高校开源的一款高质量数字人生成模型,基于14B参数的DiT架构,在语音驱动、表情同步和视频连贯…

作者头像 李华
网站建设 2026/1/30 12:35:37

零基础掌握网页转电子书:EPUB转换神器实战教程

零基础掌握网页转电子书:EPUB转换神器实战教程 【免费下载链接】WebToEpub A simple Chrome (and Firefox) Extension that converts Web Novels (and other web pages) into an EPUB. 项目地址: https://gitcode.com/gh_mirrors/we/WebToEpub 还在为无法离线…

作者头像 李华
网站建设 2026/1/26 18:31:33

Dear ImGui单文件模式:解决C++界面开发复杂依赖的终极方案

Dear ImGui单文件模式:解决C界面开发复杂依赖的终极方案 【免费下载链接】imgui Dear ImGui: Bloat-free Graphical User interface for C with minimal dependencies 项目地址: https://gitcode.com/GitHub_Trending/im/imgui 在C图形界面开发领域&#xff…

作者头像 李华
网站建设 2026/2/1 19:35:39

Qwen-Image-2512成本控制:小团队也能负担的GPU方案

Qwen-Image-2512成本控制:小团队也能负担的GPU方案 1. 为什么小团队需要关注生成模型的成本? 对于初创团队、自由职业者或小型设计工作室来说,AI图像生成技术虽然诱人,但高昂的硬件投入和运维成本常常让人望而却步。动辄需要多张…

作者头像 李华
网站建设 2026/1/31 8:58:34

如何3步搭建专属纯净音乐空间?告别广告干扰的终极方案

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

作者头像 李华