检查 getattr 是否存在于 Python3 中的字典理解中

Checking if getattr exists within a dictionary comprehension in Python3

我有一行代码

attributes_dict["data_properties"] = {
    prop: getattr(ontology_node, prop) for prop in data_properties
}

但是,并非每个 ontology_node 都具有所有属性,所以我想做一些类似于以下的事情

attributes_dict["data_properties"] = {
    prop: getattr(ontology_node, prop) for prop in data_properties if getattr(onotology_node, prop)
}

不幸的是,这不能正常工作。有没有办法检查 ontology_node 中是否存在像上面那样的字典理解?

当然我可以手动执行此操作,但如果可能的话我想使用字典理解。

谢谢

hasattr 应该做的工作

attributes_dict["data_properties"] = {
    prop: getattr(ontology_node, prop) for prop in data_properties if hasattr(onotology_node, prop)
}

PS: prop 应该是 str 类型