当前位置: 首页 > 知识库问答 >
问题:

存在重复项时查找列表之间的差异

令狐弘益
2023-03-14

我需要使用python找出两个列表之间的差异。这个问题以前在堆栈溢出上被问过很多次,但没有一个提到重复(即[8][8,0,1,8]之间的区别是[0,1];我需要它是[0,1,8],因为每个数字在我的程序中都很重要)。

我尝试过使用numpy的setdiff1d,但它无法满足上述标准

ydiff = np.setdiff1d(ydigits, jdigits)

如上所述,这只说明同一项是否在列表中,而不是它在该列表中的次数。我还可以使用其他功能吗?

共有1个答案

谢烨烨
2023-03-14

您可以对集合使用减法运算符。计数器对象:

>>> from collections import Counter
>>> list((Counter([8, 0, 1, 8]) - Counter([8])).elements())
[8, 0, 1]
 类似资料:
  • 问题内容: 给定一个数字列表,人们如何发现第()个元素与其第()个元素之间的差异? 使用表达式还是列表理解更好? 例如: 给定一个列表,我们的目标是要找到一个列表,因为,等等。 问题答案:

  • 我想找出numpy数组中所有值之间的差异,并将其附加到一个新列表中。 也就是说,对于一个的每个值

  • 问题内容: 我有两个列表,其中包含许多相同的项目,包括重复的项目。我想检查第一个列表中的哪些项不在第二个列表中。例如,我可能有一个这样的列表: 还有一个像这样的列表: 比较这两个列表,我想返回第三个列表,如下所示: 我目前正在使用一些我之前确定的糟糕代码,我可以肯定它甚至无法正常工作,如下所示。 我怎样才能更好地完成这项任务? 问题答案: 您没有指定订单是否重要。如果没有,则可以在> = Pyth

  • 我是一个新手在python和我试图弄清楚,我如何区分2列表,如下所示 而且 问题是,这两个列表都有元素,我需要一个可靠的条件来满足,如果列表中有一个项是字符串而不是。列表也可能有7个,只有一个项目是字符串。