当前位置:首页>python>我的 Python 学习日记17

我的 Python 学习日记17

  • 2026-09-29 19:30:13
我的 Python 学习日记17

    📝 Python 修炼日记:数据重构(Restructuring)
    🗓️ 日期:2026-03-23
    🎯 今日目标:学会把复杂的“大字典”简化成只包含核心信息的“小字典”,让数据变漂亮!

    📖 核心概念

    在真实的项目里(比如你从 Logseq 导出的数据),一个字典可能包含几十个键(key),比如:创建时间、修改时间、作者、字数、路径、ID……

    但很多时候,我们只需要其中一两个关键信息。

    数据重构就是:
    1️⃣ 遍历旧列表。
    2️⃣ 每次取出一个大字典。
    3️⃣ 亲手捏一个新字典,只把我要的“姓名”和“分数”放进去。
    4️⃣ 把这个“小而美”的新字典存进新列表。

    用一句话总结:

    重构 = 提取精华 + 重新打包


    📊 知识汇总表

    重构的核心动作

    动作
    写法示例
    含义
    1. 提取name = item["name"]
    从旧字典里把值拿出来,存在变量里。
    2. 打包new_item = {"简名": name}
    重新起个名字,塞进一个全新的 {} 里。
    3. 转换score = item["score"] * 10
    在打包的过程中,顺便把数据算一下(比如换算单位)。
    4. 收集new_list.append(new_item)
    把捏好的新字典排好队,放进新列表。

    ⚙️ 逻辑与流程

    下面是“数据重构”的执行过程:

    有

    没有

    开始: 复杂的原始列表
    创建空列表 final_data
    for 循环: 取出一个大字典
    提取: 选出需要的 key
    重组: 构造一个精简的新字典
    append: 加入 final_data
    还有下一条吗?
    结束: 得到清爽的新数据


    💻 实战演练

    假设你有一堆 Logseq 笔记数据,信息太乱了,我们只想重构成“标题”和“是否为长文”的精简格式。

    # 1. 原始数据:信息很多很杂
    raw_notes = [
        {"title": "Python字典", "date": "2026-03-19", "words": 1500, "id": "001"},
        {"title": "买菜清单", "date": "2026-03-20", "words": 50, "id": "002"},
        {"title": "Logseq配置", "date": "2026-03-21", "words": 800, "id": "003"}
    ]

    # 2. 开始重构

    clean_notes = []

    for
     note in raw_notes:
        # --- 核心步骤:捏一个新字典 ---

        # 我们只要标题,并且把字数转换成“长文”或“短文”的状态


        # 提取并加工

        short_title = note["title"]
        is_long = "是" if note["words"] > 1000 else "否"

        # 打包成新结构

        new_packet = {
            "笔记名称"
    : short_title,
            "字数达标"
    : is_long
        }

        # 存入新列表

        clean_notes.append(new_packet)

    # 3. 打印看结果

    print
    ("重构后的精简数据:")
    for
     item in clean_notes:
        print
    (item)

    # 运行结果:

    # {'笔记名称': 'Python字典', '字数达标': '是'}

    # {'笔记名称': '买菜清单', '字数达标': '否'}

    # {'笔记名称': 'Logseq配置', '字数达标': '否'}

    💡 今日感悟

    今天最大的收获是:数据的主动权在你自己手里。

    你不必接受原始数据的臃肿格式,通过 new_packet = {},你可以随心所欲地定义数据的长相。

    ⚠️ 避坑指南:
    重构时最容易犯的错是:new_packet["title"] = note["title"]。
    如果你忘记先创建一个空字典new_packet = {},Python 就不知道你想把东西往哪儿放。


    📌 如果用一句话总结今天:
    筛选是决定“谁能留下”,重构是决定“留下的长什么样”。

    最新文章

    随机文章