检查 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
类型
我有一行代码
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
类型