首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >具有动态"is in“约束的Python字典架构验证

具有动态"is in“约束的Python字典架构验证
EN

Stack Overflow用户
提问于 2019-03-15 06:34:41
回答 2查看 1.5K关注 0票数 1

我正在寻找一种字典验证的解决方案,其中一个约束是is in约束,其中被认为有效的值来自被验证的字典本身。

例如,想象一下下面的伪模式

代码语言:javascript
复制
{
    "notions" : [ string ],
    "category" : [ is in notions ]
}

为了清楚起见,我还口头表达了这个伪模式的约束。这些是我想要验证的约束,be d the dictionary to validate:

  1. set(d.keys()) == {"notions", "categories"}
  2. isinstance(d["notions"], list)
  3. isinstance(notion, str) for notion in d["notions"]
  4. isinstance(d["category"], list)
  5. element is in d["notion"] for element in d["category"]

不要问,这个特定的数据结构是否有任何意义。事实并非如此。我只是想为我的问题创建一个最小的例子。我的实际字典模式要复杂得多,并且将有多个对字典中的值的引用。这就是为什么我希望避免手动定义和验证约束,而更喜欢基于模式的解决方案。

我已经研究了一些模式验证库,但是我没有发现任何地方都包含这个特性。有没有一个基于一些库的解决方案,可能会有一些小的调整?我宁愿不要第二次发明轮子。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55173021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档