我在python中有一个列表,在我的例子中,列表是坐标。我想在此列表中添加新坐标,但前提是该坐标尚不存在。这很容易通过以下方式实现
List = [coord1,coord2,...,coordn]
coord = [x,y,z]
if not coord in List: List.append(coord)
问题在于,这些坐标是由各种测角函数生成的,因此它们是浮点数,可能出现以下最小示例:
List =[[0,0],[1,0]]
coords = [0.99999999999,0.000000000001]
我不想添加新的坐标,因此我想知道是否有某种简单的方法来检查是否有一个简单的函数func
,它将执行以下操作:
List =[[0,0],[1,0]]
coord = [0.99999999999,0.000000000001]
tol = 1e-10
func(coord,List,tol) = True
即func
返回True
,如果列表中存在坐标c
,则||c-coord||<tol
。其中一个限制是列表仍然是一个列表,因此如果不需要将其转换为numpy数组,则首选该列表,但通常使用numpy是可能的,我想也是必要的
这是一个常见问题,可以通过四舍五入浮点值来解决:
这将返回带有四舍五入浮点值的列表,但它们将是字符串类型。 要处理数据,最好通过更改代码将字符串再次转换为浮点:
相关问题 更多 >
编程相关推荐