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

故事情节

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

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

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

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

编程知识点讲解

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

元组: 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)  # 输出: {'金丹', '银丹', '灵丹', '仙丹'} (顺序可能不同)

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

本章知识点总结

  • 列表: 可变序列。

  • 元组: 不可变序列。

  • 字典: 键值对。

  • 集合: 无序去重。

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

相关推荐
间彧4 小时前
Spring Boot自动配置与"约定大于配置"机制详解
后端
IT_陈寒4 小时前
JavaScript引擎优化:5个90%开发者都不知道的V8隐藏性能技巧
前端·人工智能·后端
JaguarJack4 小时前
PHP "真异步" TrueAsync SAPI 与 NGINX Unit 集成
后端·php
hweiyu004 小时前
Spring Boot 项目集成 Gradle:构建、测试、打包全流程教程
java·spring boot·后端·gradle
一勺菠萝丶4 小时前
Spring Boot 项目启动报错:`Could not resolve type id ... no such class found` 终极解决方案!
java·spring boot·后端
canonical_entropy4 小时前
组合为什么优于继承:从工程实践到数学本质
后端·数学·设计模式
Victor3565 小时前
Redis(62)如何优化Redis的连接数?
后端
绝无仅有5 小时前
面试真实经历某商银行大厂Java问题和答案总结(三)
后端·面试·github