我只是对python有点陌生,因此对其他语言有所了解。我的具体问题是,通过使用每个文档条目的多个属性,最简单的方法是在字典或json文档中定位。

文档结构示例:

[
   {"Car" : "Ford", "Color" : "Red", "ID" : 1},
   {"Car" : "Ford", "Color" : "Blue", "ID" : 2},
]


除了必须编写每个文档唯一的迭代函数来定位这些记录以外,是否有一种简单的方法可以说使用Red Ford搜索?

print (doc["Ford"]["Red"])

or something similar to how a SQL works in a database like

Select * from doc where Car='Ford' and Color='Red'


只是从具有多个文档结构的python路径开始,并要确保我没有做比需要的更粗略的事情。我知道迭代当然可以工作,但是您必须为每个文档编写一个代码,这似乎会更简单但不确定。

谢谢!

提姆

最佳答案

您可以根据当前示例使用数组过滤器:

[o for o in doc if o["Car"] == "Ford" and o["Color"] == "Red"]


或者,filter

list(filter(lambda x: x["Car"] == "Ford" and x["Color"] == "Red", doc))

10-04 20:50