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

相关文章:

  • Kotaemon用户行为分析插件开发教程
  • 基于微信小程序的错峰共享泊车系统
  • 顺德双皮奶丝滑到挑战味觉极限?
  • 千年驿站,百味交融:在霍尔果斯邂逅丝路风情与舌尖盛宴
  • Newtonsoft.Json 与 System.Text.Json 多态反序列化的安全性差异解析
  • 原神自动化助手:解放双手的智能游戏伴侣
  • WinCDEmu虚拟光驱使用完全指南:从入门到精通
  • FSearch完整指南:Linux系统快速文件搜索终极解决方案
  • 51、保障系统安全:从漏洞扫描到灾难恢复的全面指南
  • NVIDIA双技术OpenUSD+Halos重构Robotaxi安全体系,物理AI落地效率倍增
  • 通达信连板打妖选股指标公式源码副图
  • 机器人企业1X与EQT达成千亿级合作!2030年前部署1万台NEO人形机器人,工业场景商业化加速
  • 大语言模型的巧用:
  • 从化房地产营销策划公司哪家好:复购率高达90%口碑称冠 - 品牌测评家
  • 从化自媒体运营哪家好:权威榜单与专业推荐 - 品牌测评家
  • Heroicons v2.1.5新图标实战指南:23个新增图标如何提升你的项目体验
  • 55、Ubuntu系统软件管理全攻略
  • 从 Android 回调到 C 接口:函数指针 + void* self 的一次彻底理解
  • 18、Linux 后台办公基础架构的开源解决方案
  • 【零信任架构落地难点】:政务环境中Agent动态权限控制核心技术
  • 终极Mac菜单栏整理指南:用Dozer隐藏图标打造清爽桌面
  • Java对象差异对比终极指南:如何快速实现对象变化追踪
  • 还在凭经验施肥?AI Agent已实现毫米级精准投喂,产量提升超25%!
  • 广州 大模型备案与算法备案补贴政策解析
  • Charticulator图表定制实战指南:3步打造专业级数据可视化
  • 中国辅助驾驶“新竞赛”打响,高智价比AI芯片如何定义新标杆?
  • 从78%降至3%!全网最实用的论文免费降aigc干货教程(附降AI工具合集) - 殷念写论文
  • 羊皮手套厂家哪家好?2025真皮手套厂家实力排行榜 - 栗子测评
  • 2025上海全屋定制家具工厂权威排行 - 栗子测评
  • 丝苗米推荐:超500万用户力荐的口碑爆款 - 品牌测评家