我只是对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))