登录
首页 >  文章 >  python教程

Day Recartory -TS + Python +重新申请和类型

时间:2025-01-26 19:28:03 231浏览 收藏

golang学习网今天将给大家带来《Day Recartory -TS + Python +重新申请和类型》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习文章或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

Day Recartory -TS + Python +重新申请和类型

本文探讨了在Python中处理嵌套数据结构(字典和列表)中空字符串的通用方法。作者首先用TypeScript展示了递归处理的思路,然后逐步用Python实现,最终采用字典和列表推导式优化代码。

作者最初的Python代码采用迭代方式处理字典和列表,递归调用自身处理嵌套结构,将空字符串替换为"nao_encontrado"。 随后,作者利用Python的字典和列表推导式,将代码变得更加简洁和Pythonic。

最终的Python函数substituir_strings_vazias如下:

def substituir_strings_vazias(dados):
    if isinstance(dados, dict):
        return {k: substituir_strings_vazias(v) for k, v in dados.items()}
    elif isinstance(dados, list):
        return [substituir_strings_vazias(item) for item in dados]
    elif isinstance(dados, str) and dados == "":
        return "nao_encontrado"
    return dados

这个函数优雅地处理了字典和列表的递归遍历,并有效地将空字符串替换为"nao_encontrado",保持了原始数据结构。 输入示例:

dados = {
    "nome": "",
    "idade": 25,
    "endereco": {
        "rua": "",
        "cidade": "são paulo",
        "estado": ""
    },
    "contatos": ["", "email@example.com"]
}

输出结果:

{
    "nome": "nao_encontrado",
    "idade": 25,
    "endereco": {
        "rua": "nao_encontrado",
        "cidade": "são paulo",
        "estado": "nao_encontrado"
    },
    "contatos": ["nao_encontrado", "email@example.com"]
}

文章总结了作者从TypeScript到Python的代码演变过程,并强调了递归和Pythonic编程风格在处理此类问题中的优势。 最终的Python代码简洁高效,充分体现了Python语言的表达能力。 作者也表达了对Python的喜爱,并认为其简洁性优于TypeScript。

终于介绍完啦!小伙伴们,这篇关于《Day Recartory -TS + Python +重新申请和类型》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>