问题标签 [symmetric-difference]

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 投票
1 回答
52 浏览

python - 获得两个字符串(在python中)之间对称差异的最佳有效方法是什么?

示例:如果有两个字符串:- s1 = 'cde' s2 = 'abc'

输出:'deab'

我将字符串转换为列表并比较了两个列表。

有没有其他方法可以在不将其转换为列表的情况下解决此问题?我感谢您的帮助。提前致谢。

0 投票
0 回答
79 浏览

python - 有效地计算许多集合的异或/对称差(集合列表)

我有任意数量的 Python 集,例如

我想计算它们的“组合”对称差异,即我想对它们进行异或:

在我的用例中,我实际上是在处理集合列表:

目前,我正在遍历列表以实现我想要的:

我想知道是否有更有效的方法,理想情况下无需通过 Python for 循环。集合操作在 Python 中实际上非常快,但我的列表可能会变得相当长,因此具有讽刺意味的是 for 循环本身成为了瓶颈。


编辑 (1)

我假设我列表中所有集合的每个可能条目在我列表中的所有集合中出现不超过两次。


编辑 (2)

一些基准:

test_loop1: 121 µs ± 321 ns

test_loop2: 112 µs ± 3.16 µs

test_reduce1: 9.89 毫秒 ± 20.6 微秒

test_dict1: 695 µs ± 5.11 µs

0 投票
2 回答
40 浏览

python - 我可以在 Python 中使用 set 的 update 方法来合并两个集合 (xy) 和 (yx) 吗?

我有这两个源代码,我不明白其中的区别

为什么第二个代码不会导致第一个代码?据我所知,(xy) 将返回一个集合,然后我使用 (y - x) 应用更新方法来合并 (xy) 集合和 (yx),所以结果应该相同?

0 投票
0 回答
18 浏览

javascript - 对称差分递归函数返回“未定义”

好吧,我正在尝试在线学习 freeCodeCamp 课程之一,当我认为我不应该这样做时,我变得不确定。我是新手,所以可能有一个非常简单的解决方案,但我想知道我哪里出错了。问题涉及对称差异:

提示符是这样说的:“两个集合的数学术语对称差(△或⊕)是两个集合中的任何一个但不在两个集合中的元素的集合。例如,对于集合 A = {1, 2 , 3} and B = {2, 3, 4}, A △ B = {1, 4}。对称差分是二元运算,这意味着它只对两个元素进行运算。所以要计算一个涉及三个之间对称差分的表达式元素(A △ B △ C),你必须一次完成一项操作。因此,对于上面的集合 A 和 B,并且 C = {2, 3},A △ B △ C = (A △ B) △ C = {1, 4} △ {2, 3} = {1, 2, 3, 4}。创建一个函数,该函数接受两个或多个数组并返回它们对称差的数组。返回的数组必须只包含唯一值(不重复)。”

这是我的代码:

当我运行该函数时,它是否有原因不断返回 UNDEFINED?IF 语句中的这两个控制台日志返回他们正在寻找的正确值,但 RETURN 语句只会给出未定义的...