我有两组节点。节点集A包含节点ID和节点XYZ坐标的列表,例如:(ID:int,[x:float,y:float,z:float])。节点集B包含节点温度和节点XYZ坐标。集合A中的所有节点都应该(但不一定)在集合B中找到,但集合B也可以包含其他节点。我需要将集合A中的节点与其对应的集合B中的节点基于坐标进行匹配。主要问题是它们的坐标不完全匹配(存在浮点错误)。你知道吗
解决方案最好避免使用非标准库。我已经编写了我认为不是解决这个问题的最佳方案的代码。我试图创建一个包含集合B的dict。keys由一个元组组成,元组包含截断的坐标,其中温度是值。然后使用截断集坐标来查询dict。 我想知道有没有更优雅和准确的方法来解决这个问题?你知道吗
您可能可以使用^{} ,它需要根据您的输入进行一些调整(根据您的用例仔细选择
rel_tol
和abs_tol
)。你知道吗在许多情况下,默认值都可以:
在这个特定的示例中,这将打印
{'a': '1°c', 'b': '2°c'}
。你知道吗但在某些情况下(例如,您的错误大于
rel_tol
的默认值1e-9
),则需要指定:math.isclose(i, j, rel_tol=your_epsilon)
。你知道吗相关问题 更多 >
编程相关推荐