news 2026/5/9 12:03:58

【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/5/9 0:39:10

【高级进阶】Laravel 13多模态权限设计:打破RBAC传统局限

第一章:Laravel 13 多模态权限控制概述Laravel 13 引入了全新的多模态权限控制系统,旨在应对现代 Web 应用中复杂、动态的访问控制需求。该系统不仅支持传统的角色-权限模型,还融合了基于属性的访问控制(ABAC)、策略模…

作者头像 李华
网站建设 2026/5/9 0:38:46

揭秘气象数据异常波动:如何用R语言构建高精度预测模型

第一章:气象数据异常波动的背景与挑战近年来,随着全球气候变化加剧,气象观测系统频繁记录到超出历史范围的数据波动。这些异常不仅体现在气温的骤升骤降,还包括降水模式的突变、极端天气事件频率上升等现象。传统气象模型依赖于长…

作者头像 李华
网站建设 2026/5/9 2:16:17

Font Awesome 货币图标

Font Awesome 货币图标(Money Currency Icons)详解 Font Awesome 在 Money(金钱/支付)和旧版 Currency(货币符号)类别下提供了丰富的货币相关图标,适合电商、财务仪表盘、支付界面等场景使用。…

作者头像 李华
网站建设 2026/5/9 2:47:07

OKCC 如何帮助传统电销业务提升效率?从 6 大维度破解行业痛点

在当今电销行业竞争日益激烈的背景下,传统电销模式面临着效率低下、成本高昂、客户体验差等诸多痛点。而 OKCC 作为一款集成 AI 能力的智能电销系统,通过 160 项精细化功能,从根本上解决了传统电销的效率瓶颈问题。一、AI 智能交互&#xff…

作者头像 李华
网站建设 2026/5/9 0:55:05

【PHP性能瓶颈终极突破】:用Rust扩展实现内存零泄漏管理

第一章:PHP内存管理的挑战与Rust扩展的崛起PHP作为广泛使用的脚本语言,在Web开发领域拥有极高的普及率。然而,其基于Zend引擎的内存管理机制在处理高并发、长时间运行的任务时暴露出明显短板。变量的引用计数与周期性垃圾回收虽然能有效管理大…

作者头像 李华
网站建设 2026/5/9 3:07:02

如何在24小时内完成环境监测数据的R语言时空可视化?完整流程曝光

第一章:环境监测的 R 语言时空可视化在环境监测领域,时空数据的可视化对于理解污染物扩散、气候变化趋势以及生态系统的动态演变至关重要。R 语言凭借其强大的统计计算与图形绘制能力,成为处理此类任务的首选工具之一。通过整合空间坐标与时间…

作者头像 李华