用于快速访问深度嵌套键的字典包装器。

dotty-dict的Python项目详细描述


Info:Dictionary wrapper for quick access to deeply nested keys.
Author:Paweł Zadrożny @pawelzny <pawel.zny@gmail.com>
CI StatusDocumentation StatusPyPI Repository StatusRelease StatusProject StatusSupported python versionsSupported interpretersLicense

功能

  • python字典和dict类对象的简单包装器
  • 具有相同dict的两个包装被视为相等
  • 使用点符号访问深度嵌套键:dot['deeply.nested.key']
  • 创建、读取、更新和删除任何长度的嵌套键
  • 公开所有字典方法,如.get.pop.keys和其他
  • 按索引访问列表中的dictdot['parents.0.first_name']

待办事项

  • 支持在多维列表中设置值
  • key=值缓存,以加快查找和降低内存消耗

快速示例

使用factory函数创建新的dotty。

>>>fromdotty_dictimportdotty>>>dot=dotty({'plain':{'old':{'python':'dictionary'}}})>>>dot['plain.old']{'python':'dictionary'}

您可以从空点开始

>>>fromdotty_dictimportdotty>>>dot=dotty()>>>dot['very.deeply.nested.thing']='spam'>>>dotDotty(dictionary={'very':{'deeply':{'nested':{'thing':'spam'}}}},separator='.',esc_char='\\')>>>dot['very.deeply.spam']='indeed'>>>dotDotty(dictionary={'very':{'deeply':{'nested':{'thing':'spam'},'spam':'indeed'}}},separator='.',esc_char='\\')>>>deldot['very.deeply.nested']>>>dotDotty(dictionary={'very':{'deeply':{'spam':'indeed'}}},separator='.',esc_char='\\')>>>dot.get('very.not_existing.key')None

安装用于开发

安装开发依赖项

`console $ make install `

测试

`console $ make test `

或全面检测毒性:

`console $ make test-all `

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何在java中调用Paint组件方法   多层次POM中的java覆盖依赖项/插件管理   java模式识别   JavaSpringMVC+Log4j2定义了Log4j2。未标识非类路径位置中的属性文件   java我们如何将IntelliJ IDEA中的maven和gradle项目与源代码浏览支持集成?   Maven mvn exec:java在Windows上工作,但不是Ubuntu 20   java在Jaxb2Marshaller上使用带有packagesToScan属性的JAXBElement时没有端点适配器   java删除方法和节点   java如何为某些场景创建正则表达式模式   java如何通过gridView中的intent()传递ArrayList数据。setOnItemClickListener()   java UnsupportedClassVersionError 1.7/1.5   java为什么JVM参数是http。tomcat servlet没有使用proxyHost?   java将ArrayList从字母顺序排序到最频繁/最不频繁   java动态字段列表迭代   java如何将字节转换为位?   hadoop java。mapreduce作业中的lang.NullPointerException   javasocketIO无法与Android中的LocationListener一起使用   java在卸载时清除内部存储   java池回收错误2个精灵同时碰撞到一个精灵