【发布时间】:2021-07-13 10:52:44
【问题描述】:
假设我有一个列表a=[[1,2],[1.00000001,2.000000001],[2,3],[4,5],[4.0000000002,5.0000006]],并且我只想得到a=[[1,2],[2,3],[4,5]],因为其他列表的所有元素都靠近列表的其他元素。我们如何在 Python 中做到这一点? set可以以某种方式使用吗?
我尝试使用 numpy 的 allclose 函数,但是我们必须比较列表 a 中的所有 n(n-1)/2 对,这显然是低效的。有没有更高效的 Pythonic 方式来做到这一点?
编辑:我只是在示例中使用了一些整数,输入通常是浮点数。
【问题讨论】:
-
round到所需的精度,然后使用set?
标签: python python-3.x list numpy