news 2025/12/31 10:06:12

Python 基础数据结构语法:列表、元组与字典

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python 基础数据结构语法:列表、元组与字典

该篇将集中介绍 Python 中三种重要的基础数据结构:列表(List)、元组(Tuple) 和 字典(Dict)的基本语法和常用操作。


1.列表[List]

定义

  • 使用方括号 [] 来定义一个列表。
  • 列表是有序且可变的数据集合,支持多种数据类型混合存储。
list_data = ['ho', 'op', 'pp']

常见操作

添加元素
  • append(item) - 在末尾添加单个元素。
  • insert(index, item) - 在指定位置插入元素。
  • extend(iterable) - 将另一个可迭代对象的所有元素逐一添加到当前列表中。
list_data.append('hi') # 添加元素 list_data.insert(1, 'he') # 插入元素 list_data.extend([11, 22]) # 扩展多个元素
删除元素
  • pop(index) - 移除并返回指定索引的元素,默认移除最后一个。
  • remove(value) - 移除第一个匹配值的元素。
  • del list[index] - 删除指定索引的元素。
list_data.pop(2) # 弹出索引为2的元素 list_data.remove('op') # 移除值为'op'的第一个元素 del list_data[1] # 删除索引为1的元素
修改元素
  • 直接通过索引来修改某个元素
list_data[0] = 'new_value'
enumerate() 函数
  • 用于将列表等可迭代对象转换为带索引的枚举对象
  • 返回 (索引, 值) 的元组对
  • 常与 for 循环配合使用
list1 = [10, 20, 30, 40, 50] for index, value in enumerate(list1): print(f'第{index + 1}个数:{value}')
排序和反转
  • sort() - 对列表进行排序(默认升序),可以通过参数 reverse=True 设置降序。
  • reverse() - 反转列表中的元素顺序。
list_data.sort() # 正序 list_data.sort(reverse=True) # 倒序 list_data.reverse() # 倒序
其他有用的方法
  • sum(list) - 计算数值型列表所有元素的总和。
  • len(list) - 获取列表长度。
  • in 关键字用于判断某元素是否存在于列表中。

2. 元组 (Tuple)

定义

  • 使用圆括号 () 定义。
  • 元组是有序但不可变的数据集合,一旦创建就不能被修改。
tuple_data = (1, 2, 3, 4, 5) single_element_tuple = (1,) # 注意单个元素必须加逗号

特点

  • 不允许增删改查以外的操作。
  • 支持切片访问。
  • 因其不变性,在某些情况下性能优于列表。
print(tuple_data[0]) # 访问第一个元素 sub_tuple = tuple_data[1:4] # 切片获取子元组

3. 字典 (Dict)

定义

  • 使用花括号 {} 或者 dict() 构造函数来定义。
  • 是一种键值对(key-value)映射关系的数据结构。
student = {'name': '张三', 'age': 14, 'class': '七年级一班'}

常见操作

增加/更新键值对
  • 直接赋值即可新增或更新已有键对应的值:
student['gender'] = '男' # 新增键值对 student['age'] = 15 # 更新已有的键值对
查询键值对
  • 通过键访问对应值:
print(student['name']) # 输出姓名 print(student.get('age'))
遍历字典
  • keys() - 返回所有的键组成的视图。
  • values() - 返回所有的值组成的视图。
  • items() - 返回包含键值对的元组视图。
for key in student.keys(): print(key) for value in student.values(): print(value) for key, value in student.items(): print(f"{key}: {value}")
删除键值对
  • del dict[key] - 删除特定键及其值。
  • pop(key) - 删除并返回指定键的值。
  • clear() - 清空整个字典。
del student['class'] # 删除'class'键值对 removed_value = student.pop('gender') # 弹出并返回'gender'键的值 student.clear() # 清空字典内容

总结

1.列表

  • 使用 [] 定义,有序可变
  • 支持 append()、insert()、extend() 添加元素,pop()、remove() 删除元素

2.元组

  • 使用 () 定义,有序不可变
  • 单元素需加逗号,如 (1,)

3.字典

  • 使用 {} 定义,键值对结构
  • 支持 get() 查询,keys()、values()、items() 遍历,直接赋值增改

三种结构各有特点:列表灵活可变,元组安全不可变,字典键值映射高效。

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

赋能精准测温——电子体温计方案开发全解析

在后疫情时代健康意识全面觉醒的背景下,家用医疗健康设备市场迎来了前所未有的发展机遇,电子体温计作为家庭健康监测的核心刚需产品,其精准性、便捷性、安全性需求持续升级。为响应市场号召,夯实公司在健康科技领域的布局&#xf…

作者头像 李华
网站建设 2025/12/24 9:41:39

阿里 TOC(超时中心)深度解析:设计原理与实现方式

阿里TOC(Timeout Center,超时中心)是集团内部统一的分布式超时任务中台,并非简单的定时任务工具,而是为解决海量业务(订单、退款、物流、营销等)的超时场景而生,核心解决“精准触发、…

作者头像 李华
网站建设 2025/12/31 9:15:19

【CMake】在CMake项目中,Vcpkg、Conan或Spack用于C++依赖

#【CMake】在CMake项目中,Vcpkg、Conan或Spack用于C依赖 我最近用过一点 Vcpkg,也在更好地了解它。我也看过 Conan,但最近没怎么深入研究 Spack。我从开发者的角度来看,想改进第三方依赖的处理。这并不是要穷尽一切,而…

作者头像 李华
网站建设 2025/12/28 15:33:24

云手机 互联网 云端科技

云手机是云端科技在互联网环境下的具体应用,依托互联网与云端服务器相连,借助云端科技实现相关功能,三者紧密相关。互联网是连接用户与云手机的桥梁,用户通过互联网向云端服务器发送操作指令,如打开应用、播放视频等&a…

作者头像 李华
网站建设 2025/12/18 18:55:02

从待机功耗到峰值调度:智能Agent能源管理全流程详解

第一章:智能Agent能源管理的演进与挑战随着分布式计算和边缘智能的快速发展,智能Agent在能源管理系统中的角色日益关键。从早期基于规则的控制逻辑,到如今融合强化学习与联邦学习的自主决策系统,智能Agent已能动态响应电网负载、用…

作者头像 李华
网站建设 2025/12/18 18:54:13

Newtonsoft.Json 与 System.Text.Json 多态反序列化的安全性差异解析

多态反序列化是处理继承结构对象序列化的常见需求,但不同 JSON 序列化库的实现机制差异会带来显著的安全风险。微软 CA2326 规则明确警示:避免使用非安全的 JsonSerializerSettings 配置(如 Newtonsoft.Json 的 TypeNameHandling 非 None 值&…

作者头像 李华