首页 > 解决方案 > 如何查找列表实例是否在另一个列表中可用?

问题描述

我有两组列表。

list A= [(1,6),(3,10),(4,1),(0,5)]
list B = [(0,3),(0,4),(30,1),(4,10)]

现在对于 B 中的每个项目,我必须检查它是否在列表 A 中可用,阈值为 -2 到 +2。

因此,B 中的第一个值是 (0,3),对于在每个点中使用阈值的值,我发现(from -2 to 2, from 1 to 5)在此范围内,列表 A 中是否存在列表项。我们可以看到最后一项值(0,5)满足了这个条件。所以我可以说该项目(0,3)在列表 A 中。现在我必须将此值放入一个新列表中。

根据流程,我的新清单将是:

[(0,3),(0,4),(4,10)]

如果有人告诉我如何实现这一目标,我会很高兴。

标签: python

解决方案


这就是我认为你正在寻找的东西

A= [(1,6),(3,10),(4,1),(0,5)]
B = [(0,3),(0,4),(30,1),(4,10)]

result=[x for x in B if any(x[0]-2<=a[0]<=x[0]+2 and  x[1]-2<=a[1]<=x[1]+2   for a in A)]

print(result)

输出 :

[(0, 3), (0, 4), (4, 10)]

推荐阅读