问题标签 [list-comparison]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
806 浏览

c# - 在 C# 中比较两个有序列表

问题是我有两个字符串列表。一个列表是另一个列表的近似值,我需要某种方法来测量近似值的准确性。

作为对近似值进行评分的一种临时方法,在根据与字符串对应的数值进行排序后,我将每个列表(近似值和答案)分为 3 个分区(高、中低)。然后我比较近似值中的所有元素,以查看字符串是否存在于正确列表的同一分区中。

我将正确分类的字符串的数量相加,然后除以字符串的总数。我知道这是一种非常粗略的方法来衡量估计的准确性,并希望有更好的替代方案可用。这是一个更大的工作的一个非常小的组成部分,并希望不必重新发明轮子。

编辑:我想我不够清楚。我不需要两个列表完全相等,我需要某种显示列表相似的度量。例如,我们采用的 High-Medium-Low (HML) 方法表明估计的列表足够相似。这种方法的缺点是,如果估计列表中有一个项目位于“高”括号的底部,而在实际列表中,该项目位于中等集合的顶部,则评分算法无法传递。

除了 HML 方法之外,可能还会将每个分区的底部 20% 与下一个分区的顶部 20% 或类似的东西进行比较。

感谢你的帮助!!

0 投票
1 回答
2093 浏览

f# - 比较两个列表中每个列表中的唯一项目

我有两个集合(它们恰好是数组,但我认为这并不重要):LR. 它们都已排序,现在我想比较它们。我想最终得到两个集合:一个用于每个输入数组,其中包含不在另一个集合中的项目。

我可以从中取出第一项L,然后进行搜索R,如果没有匹配项,则将其添加到我的“唯一”集合(Lu)中。但这是非常低效的,我希望在不久的将来处理一些非常大的集合。

我想可能“玩跳房子”:

  • 第 1 步:取两个列表LR,并比较每个列表的头部 (l :: Lr :: R):

    • 分支 1:如果l< r,则添加lLu递归,传入Lr :: R

    • 分支 2:如果l> r,则添加rRu递归,传入l :: LR

    • 分支 3:如果l= r,则递归,传入LR

  • 第 2 步:返回LuRu

我可以编写这个函数,但在我付出努力之前,我想知道是否已经存在一个可以为我做这件事的函数。这似乎是一个不常见的场景,我总是宁愿使用现有的解决方案来滚动自己的解决方案。

(另外,如果这个算法有一个更容易识别的名字,我想知道它叫什么。)

0 投票
1 回答
227 浏览

python - 在具有不同缩放/模糊模式识别的列表中查找子列表

我有两个列表,每个列表都包含一组有序的数字。

一个列表很小(~ 5 - 20 个元素),另一个列表很大(~ 5000)。这些列表具有不同的“比例”,并且可能在一个或另一个列表中缺少点。一般来说,大多数元素都在两个列表中。

我正在寻找一种方法来检测两个列表之间的位置和“缩放”,以便两个列表之间的距离最小。

一个例子是:

比例为 10。 l1 在 l2 中的位置为 1。

列表 10.*l1 出现在 l2 内的位置 1;列表的距离为 7(这取决于我选择的指标,这里我只是总结了所有元素之间的差异)。

我想知道是否已经有一些方法,例如我可以使用的模式识别(最好是在 python 中)。在我看来,在将模式与未知比例因子进行比较时,这可能是一个常见问题。但是我找不到一个好的关键字来描述我的问题。

其应用是通过将测量的光谱线与已知线的位置目录进行比较来识别测量的光谱线,从而将非物理单位“探测器上的像素”转换为实际波长。

原则上,我已经可以对两个列表的比例因子提供一个不错的猜测,但我想这不是必需的,因为在大多数情况下解决方案应该是唯一的。

任何帮助表示赞赏,

朱利安

0 投票
2 回答
9348 浏览

python - 如何将字符串值与存储为列表的字典值匹配?

假设我有一本字典

然后我有一个字符串

现在我只想将上面的字符串值与 dict 值匹配,因为其他值正在动态更新,只有字符串是搜索的方式。我尝试了下面的代码但徒劳无功

0 投票
2 回答
843 浏览

python - 匹配两个不同大小的列表并返回差值

我有两个清单:

现在我想比较这两个列表并将 l2 中不匹配的部分提取到新列表中。我的意思是说它应该将 l1[1] 与字段 l2[1] 匹配并返回不匹配的列表。匹配意味着当 l1 的子列表的第二个位置的元素与 l2 的子列表中的相同位置进行比较时,它应该被忽略,并且必须返回任何不匹配的元素。实际上,我必须遍历两个列表才能获得比较元素。例如 l1 中的 3,2 并且经过比较它应该返回具有第二个位置元素 1 的子列表。这是我的方法:

但即使是匹配的部分,它也会返回给我。它有什么问题?

0 投票
1 回答
134 浏览

python - Python中的这个列表比较是不必要的吗?

interactivepython.org提供的Count and Compare Anagram 解决方案检查迭代列表,最后检查每个 ASCII 值的计数是否相同。

为什么不使用比较运算符?

完整代码:

编辑添加:

我已经测试过:

..他们都通过了。显示 c1==c2 失败的适当测试是什么?

0 投票
1 回答
67 浏览

python - 比较两个列表并打印常见元素出现的次数

我想与 比较items1,并打印其中出现items2的最常见的数字。items2items1

里面的数字items1是固定的,而里面的数字items2是更新的。我还想计算每个数字出现的次数。到目前为止,这是我想出的:

0 投票
4 回答
7635 浏览

java - 比较Java中的两个对象列表

我有两个学生对象列表(listA 和 listB),它们是通过从两个不同的数据库中查询而形成的。我需要迭代一个列表并需要确保它不存在于另一个列表中。

我已经使用了下面的比较代码,即覆盖了equals方法并使用for循环进行了比较。

说列表 A 和列表 B 可以每个有 5000 行,你能建议是否有更好的方法来实现这个吗?

比较代码:

学生对象:

编辑说明:ListA & ListB 可以有不同的行数

0 投票
3 回答
3694 浏览

c# - 比较两个列表以在其中一个列表中查找添加或删除的元素

TL;DR 版本:

有没有办法枚举两个仅由一个元素(可能是附加元素或缺失元素)不同的列表,并在匹配所有其他元素的同时判断哪个元素已更改?


我的类有一个List<View>属性,它是List<Model>通过构造函数注入的。每个都View将其各自包装Model为公共属性。

在同一范围内,有一个void Update(List<Model> newList)例程,它接收具有以下条件的另一个列表Model:它与List<Model>以前相同,加或减一个元素。这是因为Update每次在其他地方的数据绑定列表中添加或删除项目时都会调用它,并且应用程序一次只能添加/删除一个元素。

操作的动机Update,而不是简单地用新列表替换旧列表的模型(包装在视图中),是View存储状态,所以我想替换它们的模型,但保留它们的状态——它不存储在反正模型。

问题是:如果有新模型,我必须添加新视图,当相应模型不存在时,我必须删除相应视图,并且我必须将现有视图与其现有模型匹配,除了添加的元素或删除。我不确定该怎么做。

所以我正在考虑将列表第一个元素中的模型与新列表的第一个元素进行比较,如果它们匹配,则转到第二个元素,依此类推。在某一时刻,它们会有所不同,但这可能是因为添加了一个元素(然后剩余的元素将移动一个索引),或者由于删除了一个元素(在这种情况下,剩余的元素将向下移动,并且不同的元素实际上是列表中已经存在的元素)。

有什么明智的方法来判断第一个不同的元素是由于添加还是删除?

0 投票
3 回答
235 浏览

sql - 选择列表中的位置,否则选择所有最优雅的

对于一个选择语句,我在配置文件中将一部分 where 条件设置为外部参数,如下所示(COL2用字符串值填充):

现在我有一个更复杂的情况,我需要外部参数是一个列表。每当COL2列表中的值时,它应该选择,但是如果没有提供列表或某种“空”标签,则应该再次选择每个值。我想出了一个主意,但它不起作用:

像这样,当提供空列表时,该语句对于所有元素都为COL2真,如果提供了填充列表,则对于列表中与列表匹配的每个元素都为真。

但是,如果我提供一个填充列表,它将不适用于 where 语句前半部分的比较:

是否有任何查询可以使其工作 - 最好在一行 where 语句中?