news 2026/7/10 13:54:03

【Python】字典(dict)、列表(list)、元组(tuple)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Python】字典(dict)、列表(list)、元组(tuple)

在 Python 中,{}[]()是三种核心的字面量语法,分别对应字典(dict)列表(list)元组(tuple)三种内置对象(特殊场景下{}也可表示集合 set),以下是详细说明:

一、[]:列表(list)—— 可变有序序列

核心特性

  • 可变(Mutable):可动态增删改元素;
  • 有序(Ordered):元素按插入顺序排列,支持索引/切片;
  • 异构:可存储不同类型的元素(数字、字符串、对象等)。

基础用法

# 空列表empty_list=[]# 非空列表fruits=["apple","banana",100,True]# 可变特性(修改元素)fruits[1]="orange"# 结果:["apple", "orange", 100, True]# 新增元素fruits.append("grape")# 删除元素delfruits[2]

二、():元组(tuple)—— 不可变有序序列

核心特性

  • 不可变(Immutable):一旦创建,元素不能增删改(元素本身若为可变对象,其内部可修改);
  • 有序(Ordered):支持索引/切片,性能略优于列表;
  • 异构:同样支持多类型元素;
  • 语法细节:单元素元组需加逗号((1,)),空元组直接()

基础用法

# 空元组empty_tuple=()# 单元素元组(必须加逗号)single_tuple=(10,)# 多元素元组(括号可省略,靠逗号识别)colors=("red","green","blue")nums=1,2,3# 等价于 (1,2,3)# 不可变特性(报错)# colors[0] = "black" # TypeError: 'tuple' object does not support item assignment# 元素为可变对象时,内部可修改t=([1,2],3)t[0].append(4)# 结果:([1,2,4], 3)

三、{}:字典(dict)/ 集合(set)—— 两种场景

场景1:字典(dict)—— 可变键值对映射(默认)

核心特性

  • 可变(Mutable):可增删改键值对;
  • 无序(Python 3.7+ 按插入顺序保存);
  • 键(key)唯一且不可变(必须是哈希类型:字符串、数字、元组等),值(value)可任意;
  • 空字典直接用{}表示。

基础用法

# 空字典empty_dict={}# 非空字典person={"name":"Alice","age":25,"is_student":False}# 修改值person["age"]=26# 新增键值对person["city"]="Beijing"# 删除键值对delperson["is_student"]
场景2:集合(set)—— 可变无序不重复集合

核心特性

  • 可变(Mutable):可增删元素;
  • 无序(Unordered):不支持索引;
  • 元素唯一(自动去重)且不可变(哈希类型);
  • 空集合必须用set()(而非{}{}优先表示空字典)。

基础用法

# 空集合(必须用 set())empty_set=set()# 非空集合nums={1,2,3,3,4}# 自动去重:{1,2,3,4}# 新增元素nums.add(5)# 删除元素nums.remove(2)

核心总结表

符号主要对象核心特性空值写法
[]列表可变、有序、异构[]
()元组不可变、有序、异构()
{}字典可变、键值对、键唯一不可变{}
{}集合可变、无序、元素唯一不可变set()(非{}

关键注意点

  1. {}优先表示空字典,空集合必须用set()
  2. 元组的“不可变”是指元素引用不可变,若元素是列表/字典等可变对象,其内部可修改;
  3. 集合/字典的键要求是“哈希类型”(不可变类型),列表、字典等不可哈希的类型不能作为集合元素/字典键。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/10 5:41:46

自学嵌入式day31,waitpid,system 函数

waitpid 和 wait 函数waitpid(-1, status, 0) 等同于 wait(status)。 waitpid 函数原型为 pid_t waitpid(pid_t pid, int *status, int options)。参数说明&#xff1a;pid 取值决定回收的子进程范围&#xff1a;<-1&#xff1a;回收指定进程组内的任意子进程。-1&#xff1…

作者头像 李华
网站建设 2026/7/10 6:59:15

泛型继承实战指南(高级程序员必知的3个隐秘特性)

第一章&#xff1a;泛型的继承在面向对象编程中&#xff0c;继承是构建可复用、可扩展代码结构的核心机制。当泛型与继承结合使用时&#xff0c;能够实现更加灵活和类型安全的类层次结构。泛型类可以像普通类一样被继承&#xff0c;子类可以固定父类中的类型参数&#xff0c;也…

作者头像 李华
网站建设 2026/7/10 8:10:21

Symfony 8路由系统重构:从延迟2秒到毫秒级响应的优化之路

第一章&#xff1a;Symfony 8路由系统重构&#xff1a;从延迟2秒到毫秒级响应的优化之路在 Symfony 8 的新版本中&#xff0c;路由系统经历了一次深度重构&#xff0c;显著提升了请求解析性能。以往在复杂路由配置下可能出现接近 2 秒的响应延迟&#xff0c;如今已优化至毫秒级…

作者头像 李华
网站建设 2026/7/10 7:44:33

GraphQL + PHP缓存优化:99%开发者忽略的6个关键实践

第一章&#xff1a;GraphQL PHP缓存优化的核心挑战在构建高性能的现代Web应用时&#xff0c;GraphQL与PHP的结合为开发者提供了灵活的数据查询能力&#xff0c;但同时也带来了显著的缓存优化难题。由于GraphQL允许客户端按需请求字段&#xff0c;传统的基于完整页面或接口响应…

作者头像 李华
网站建设 2026/7/10 7:45:24

5、Linux 文件压缩、归档与文本文件管理全解析

Linux 文件压缩、归档与文本文件管理全解析 1. Linux 中的文件压缩 在 Linux 系统里,文件压缩是一项常见且重要的操作,它能有效节省磁盘空间。下面为你介绍几种常用的压缩工具及其使用方法。 1.1 xz 压缩 xz 是 Linux 中空间利用率最高的压缩工具,不过它的压缩速度相对较…

作者头像 李华
网站建设 2026/7/10 7:47:11

6、Linux 文本文件管理实用指南

Linux 文本文件管理实用指南 在 Linux 系统的操作环境中,系统管理员、开发者以及普通用户常常会与文本文件、配置文件和日志文件打交道。这些文件的大小不一,有的文件体积庞大,有的则属于中小型文件。文件中的数据经常需要查看、更新或提取。接下来,我们将详细介绍如何在 …

作者头像 李华