
本文探讨了在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”,保持了原始数据结构。 输入示例:
立即学习“Python免费学习笔记(深入)”;
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 +重新申请和类型的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1355798.html
微信扫一扫
支付宝扫一扫