当前位置: 首页 > 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.cnnetsun.cn/news/136397.html

相关文章:

  • Kotaemon用户行为分析插件开发教程
  • 额温枪PCBA方案开发全流程规划
  • Kotaemon针灸穴位查询:图文结合精准定位
  • 二极管钳位三电平VSG仿真模型 1.加入中点电位平衡 2.仿真有视频教程 3.THD均<5%
  • 通达信轻松买卖点副图,源码分享
  • 仅限内部分享:电力巡检Agent路径生成模型参数调优全记录
  • ChromePass密码找回工具:轻松获取Chrome保存的所有密码
  • BookmarkHub:告别浏览器书签混乱的智能同步神器
  • 51、保障系统安全:从漏洞扫描到灾难恢复的全面指南
  • DearPyGUI:为什么这款Python GUI框架正在重新定义界面开发?
  • Matlab模拟OAM螺旋谱展开,包括光束本征态、各类湍流、衍射、干涉下的OAM谱分布
  • 【核工业Agent故障处理全攻略】:揭秘高危场景下的7大应急响应策略
  • AI视频字幕生成工具:5步配置与实战应用全攻略
  • 如何快速上手SM3-PHP:5分钟掌握PHP国密加密的完整指南
  • 重构智慧书-第19条:事情刚开始时,不要让人抱过高期望。
  • 塔防无敌塔防小游戏Linux部署演示
  • leetcode 3652(定长滑动窗口/前缀和)
  • Vim插件管理器VAM:零基础小白也能轻松驾驭的终极神器
  • 30、Linux迁移案例:企业与政府的开源实践
  • 模块化多电平换流器(MMC)仿真分析:双闭环控制与最近电平逼近调制
  • Nacos3.1.1部署(Docker)
  • 【稀缺资料】20年经验专家解密:云边 Agent 延迟优化的3层架构设计
  • 跨领域Agent协同架构设计,5个真实工业场景中的落地实践案例
  • 半导体设备通信开发实战:基于secsgem的工业自动化解决方案
  • 【Java毕设全套源码+文档】基于springboot的钢材销售管理系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • 26、Unix系统管理与实用技巧
  • [HZNUCTF 2023 preliminary]ppppop
  • 2025年国内主流的德国SAP系统官方授权实施代理商有哪些?
  • 服务器性能优化实战:从资源瓶颈定位到极致调优(附租赁服务器适配指南)
  • 三相异步电动机交流调速系统:原理、应用与优化控制策略