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

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

本章知识点总结

  • 列表: 可变序列。

  • 元组: 不可变序列。

  • 字典: 键值对。

  • 集合: 无序去重。

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

相关推荐
小陈工42 分钟前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
大鸡腿同学5 小时前
【成长类】《只有偏执狂才能生存》读书笔记:程序员的偏执型成长地图
后端
0xDevNull5 小时前
MySQL数据冷热分离详解
后端·mysql
A__tao5 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
研究点啥好呢5 小时前
Github热门项目推荐 | 创建你的像素风格!
c++·python·node.js·github·开源软件
AI袋鼠帝5 小时前
OpenClaw(龙虾)最强开源对手!Github 40K Star了,又一个爆火的Agent..
后端
迷藏4945 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
明日清晨6 小时前
python扫码登录dy
开发语言·python
bazhange6 小时前
python如何像matlab一样使用向量化替代for循环
开发语言·python·matlab
人工干智能6 小时前
科普:python中你写的模块找不到了——`ModuleNotFoundError`
服务器·python