当前位置: 首页 > news >正文

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() 遍历,直接赋值增改

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

http://www.jsqmd.com/news/111175/

相关文章:

  • 2025考勤管理系统品牌TOP5推荐:优质服务商权威榜单发布,技术场景双优适配,助力国内、东南亚、深圳、东莞、苏州等地企业制造业、集团企业、中小企业、医药行业、连锁行业等高效管理 - 全局中转站
  • SpringAI-ChatMemory
  • 0v0.pro , 话不多说,周免 gpt-5.1 , gemini-3.0-pro , grok-4 - 教程
  • 知识城瑜珈哪家好:专业机构TOP5选择攻略 - 品牌测评家
  • 知识城瑜珈哪家好:专业机构TOP5选择攻略 - 品牌测评家
  • 你的代码正在腐烂:为什么我们都不敢碰那座“屎山”?
  • 你的代码正在腐烂:为什么我们都不敢碰那座“屎山”?
  • rust语言trait
  • Kotaemon用户行为分析插件开发教程
  • 原神自动化助手:解放双手的智能游戏伴侣
  • 2025最新人事管理系统品牌top8推荐!优质定制厂家权威榜单发布,高效合规助力东南亚、深圳、东莞、苏州等地制造业、集团企业、中小企业、医药行业、连锁行业等管理升级 - 全局中转站
  • 从化自媒体运营哪家好:权威榜单与专业推荐 - 品牌测评家
  • 模型版本失控?气象预测系统中的更新治理策略,资深架构师亲述避坑指南
  • 53、Linux系统性能优化与命令行使用指南
  • NVIDIA双技术OpenUSD+Halos重构Robotaxi安全体系,物理AI落地效率倍增
  • 通达信连板打妖选股指标公式源码副图
  • Heroicons v2.1.5新图标实战指南:23个新增图标如何提升你的项目体验
  • 米哈游Java后端面试被问:Spring Boot Starter的制作原理
  • 狼和羊的故事还在追我
  • 零售连锁门店数字化变革,高效管理系统成关键
  • 55、Ubuntu系统软件管理全攻略
  • sql注入中过滤分隔符的测试方法
  • 【零信任架构落地难点】:政务环境中Agent动态权限控制核心技术
  • 2025软床床垫源头厂家甄选:优质海绵床垫厂家,性价比拉满 - 栗子测评
  • Wireshark静态分析实战指南:Clang-Tidy配置与源码优化深度解析
  • 终极Mac菜单栏整理指南:用Dozer隐藏图标打造清爽桌面
  • Java对象差异对比终极指南:如何快速实现对象变化追踪
  • python-flask-django基于数据分析的个性化健康运动饮食管理系统的设计与实现_gy0754sb
  • 巨 椰 云手机离线多开
  • 18、认证模型与技术全解析