【Python修仙笔记.4】数据结构法宝 - 存储你的仙器

故事情节

王麻子收集了很多法宝,老头说:"小子,法宝乱放像垃圾堆!用列表存储,像你的储物袋!"

王麻子:"列表?怎么用?"

老头:"哈哈,列表是可变袋子,元组是不可变,字典是带标签的,集合是去重!"

王麻子用数据结构整理法宝,瞬间变强:"这下我的背包整齐了!"

编程知识点讲解

老头:"列表: my_list = 1, '剑', 3.5 ; my_list.append(4) ; print(my_list0)"

元组: my_tuple = (1, 2, 3) ; 不可改

字典: my_dict = {'name': '王麻子', 'power': 100} ; print(my_dict'name')

集合: my_set = {1, 2, 3} ; my_set.add(4) ; 自动去重

老头:"这些是修仙的储物法宝,用好它们,数据管理如臂使指!"

实战代码示例

python 复制代码
# 列表
treasures = ['剑', '盾', '丹药']
treasures.append('法杖')
print(treasures)

# 元组
stats = (100, 50, True)
print(stats[0])

# 字典
player = {'name': '王麻子', 'power': 150, 'level': 5}
player['power'] += 50
print(player)

# 集合
unique_items = {'苹果', '香蕉', '苹果'}
unique_items.add('橙子')
print(unique_items)

趣味练习题

  1. 创建一个列表存储3个修仙物品,添加一个,打印列表。

  2. 用字典存储你的角色信息(name, age, power),更新power,打印。

  3. 用集合存储重复的丹药名,添加新丹药,看去重效果。

练习题答案与解释

  1. 修仙物品列表:

    python 复制代码
    items = ['飞剑', '护符', '灵丹']
    items.append('仙袍')
    print(items)  # 输出: ['飞剑', '护符', '灵丹', '仙袍']

    解释: 创建列表items存储三个物品,使用append添加新物品,然后打印列表。这演示了列表的可变性和基本操作。

  2. 角色信息字典:

    python 复制代码
    character = {'name': '王麻子', 'age': 18, 'power': 100}
    character['power'] += 50
    print(character)  # 输出: {'name': '王麻子', 'age': 18, 'power': 150}

    解释: 使用字典存储键值对,更新'power'键的值,然后打印字典。这展示了字典的访问和修改方式。

  3. 丹药集合:

    python 复制代码
    pills = {'金丹', '银丹', '金丹', '灵丹'}
    pills.add('仙丹')
    print(pills)  # 输出: {'金丹', '银丹', '灵丹', '仙丹'} (顺序可能不同)

    解释: 创建集合自动去除重复项,添加新元素,然后打印。这突出了集合的去重和无序特性。

本章知识点总结

  • 列表: 可变序列。

  • 元组: 不可变序列。

  • 字典: 键值对。

  • 集合: 无序去重。

  • 用对数据结构,代码更高效,像修仙更省力!

相关推荐
程序猿DD3 小时前
OctaFuse Gateway 2.15.0:MCP 聚合、向量 Embeddings 与官方目录同步
后端·agent
VidDown5 小时前
24fps 转 25fps 不只是改个数字:帧率转换、PAL/NTSC 与音频补偿
python·网络协议·音视频·视频编解码·视频
余槐i6 小时前
PostgreSQL 函数索引报错 must be immutable:3种绕法与代价
数据库·后端·sql·postgresql·性能优化
需要8266 小时前
Spring Bean 生命周期:从实例化到销毁的完整钩子
java·后端·spring
死磕音视频7 小时前
让小模型做选择题:限定候选项并读取 logits 概率的入门实践(附 Python 代码)
开发语言·python·大模型·文本分类·transformers
凤山老林7 小时前
Spring Boot 接入国密 SM2/SM3/SM4 的一些实践记录
spring boot·后端·python
伯恩bourne8 小时前
Spring Boot Bean 注册的两种方式:@Component 家族 vs @Configuration + @Bean
java·spring boot·后端
张彦峰ZYF8 小时前
停顿短不等于延迟低:G1、ZGC 与低延迟服务的目标分野、代价账本与选型标定
后端·回收暂停、应用停止总时长·到达安全点、分配停滞·屏障吃吞吐、并发线程吃核心·并发窗口吃堆余量·分区式靠挑回收集兑现目标·染色指针式不支持压缩引用
pride.li9 小时前
第03章 Python 教程-基础语法:注释与变量
服务器·前端·后端·python·算法·计算机视觉
databook9 小时前
用 Pydantic AI 从零搭建一个能干活的 AI Agent
人工智能·python