Python 在两个列表中查找不匹配值的最有效方法
我有一个例子,我有两个任意长度的列表。这些列表中的每个值都是n个浮点值的另一个列表Python 在两个列表中查找不匹配值的最有效方法,python,Python,我有一个例子,我有两个任意长度的列表。这些列表中的每个值都是n个浮点值的另一个列表 a = [[0.8,0.9,1.], [0.5,2.6,2.2], [1.5,5.6], [5.8,2.3,1.9],] b = [[0.8,0.91,1.01], [2.5,4.6,8.8], [1.49,5.59],] 我想比较两个列表中的值,找出那些不在给定公差范围内的值 我感兴趣的是在纯Python中实现这一点的最有效方法,而无需恢复到编译代码或多线程,并且只使用标准库。希望在这个过程中我能学到更多
a = [[0.8,0.9,1.], [0.5,2.6,2.2], [1.5,5.6], [5.8,2.3,1.9],]
b = [[0.8,0.91,1.01], [2.5,4.6,8.8], [1.49,5.59],]
我想比较两个列表中的值,找出那些不在给定公差范围内的值
我感兴趣的是在纯Python中实现这一点的最有效方法,而无需恢复到编译代码或多线程,并且只使用标准库。希望在这个过程中我能学到更多
例如:
如果公差为0.001,这是两个比较值之间最大距离的度量值,比较列表a和b将返回:
a和b中的匹配值:
am=[[0.8,0.9,1.],[1.5,5.6],]
be=[[0.8,0.91,1.01],[1.49,5.59],]
不匹配值:
anm=[[0.5,2.6,2.2],[5.8,2.3,1.9],]
bnm=[[2.5,4.6,8.8],]
我们也可以预期,不会有重复。这有用吗 使用列表理解可以实现这一点
result = [ y for x in a for y in x if low<=y<=high]
result=[y代表a中的x代表y代表x中的y如果low@Raoul仅使用标准库
给定公差时,您期望的输出示例是什么?我认为您应该澄清“查找不在给定公差范围内的值”的含义。您到底在比较什么?您能展示您迄今为止所做的尝试吗(这样我们就可以知道你在尝试做什么了……)我是唯一一个不明白这一点的人吗?@PadraicCunningham问题是OP没有告诉我们他想要什么。找到那些不在给定公差范围内的值。
非常模糊。这是正确的,但不完全是我想要的。我已经更新了问题以提供帮助。而且,尽管你拥有的是y pythonic,我在追求最高效的实现。不确定这就是它。